1、先用JDK的类进行ZIP文件解压
public List releaseWinZIPByList(String zipPath, String serverPath) {
//zipPath为需要解压的zip文件
//serverPath为解压后文件的存放路径
List list = null;
ZipInputStream in = null;
FileOutputStream os = null;
try {
in = new ZipInputStream(new FileInputStream(zipPath));
ZipEntry entry = null;
while ((entry = in.getNextEntry()) != null) {
String entryName = entry.getName();
if (entry.isDirectory()) {
File file = new File(serverPath + File.separator + entryName);
file.mkdirs();
} else {
os = new FileOutputStream(serverPath + File.separator + entryName);
int bytesRead = 0;
while ((bytesRead = in.read()) != -1) {
os.write(bytesRead);
}
}// 未取值
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log4J.logWarn(e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
Log4J.logWarn(e.getMessage());
}
return list;
}
JDK的解压的字符集只支持ISO-8859-1,所以说在解压的时候出现中文的地方会出现异常,可以采取先把文件转换成UUID的编码名称,当然这是没有业务需求的情况下!
2、利用ant解压文件
public static void releaseZipFileList(String zipPath, String serverPath)
throws Exception {
//zipPath为需要解压的zip文件
//serverPath为解压后文件的存放路径
ZipFile zipFile = new ZipFile(zipPath);
Enumeration e = zipFile.getEntries();
org.apache.tools.zip.ZipEntry zipEntry = null;
while (e.hasMoreElements()) {
zipEntry = (org.apache.tools.zip.ZipEntry) e.nextElement();
String entryName = zipEntry.getName();
String fileNames[] = entryName.split("/");//读取文件集合
int length = fileNames.length;
String path = serverPath;
for (int it = 0; it < length; it++) {
if (it < length - 1) {
path += fileNames[it] + "/";
new File(path).mkdir();
} else { // 读取最后的一个文件
if (entryName.endsWith("/")) { // 为目录,则创建文件夹
new File(serverPath + entryName).mkdir();
} else {
InputStream in = zipFile.getInputStream(zipEntry);
OutputStream os = new FileOutputStream(new File(
serverPath + entryName));
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
os.write(buf, 0, len);
}
in.close();
os.close();
}
}
}
}
zipFile.close();
}
利用ant挤压可以支持中文,但是效率不高,有需要的时候可以用,用到的类在ant包中
分享到:
相关推荐
利用svnkit操作svn,实现对版本修改文件的导出,可以导出多个版本,.java文件将会在本地取出.class文件,导出后压缩成压缩包,主要用于服务器上的资源更新,不需要开发人员去找到对应的.class文件或其他文件压缩然后...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...
我们将java_memcached-release_1.6.zip解压后的目录中的java_memcached-release_1.6.jar文件复制到java项目的lib目录下,然后我们来编写代码,比如我提供的一个应用类如下: package utils.cache; import java....
xUtils快速使用说明导入依赖使用Gradle构建时添加以下依赖即可:如果使用eclipse可以 点击这里下载aar文件, 然后用zip解压, 取出jar包和
既然看到了本帮助文件,那相信此时您已将本系统压缩包(rar,zip)解压 首先,请确认您的服务器操作系统支持运行Asp.net,IE版本在5.5以上,或者您有远程虚拟主机 若您的操作系统不支持Asp.net,那请你先安装,如何安装请...
如果使用eclipse可以 点击这里下载aar文件, 然后用zip解压, 取出jar包和so文件. 添加配置混淆设置 region for xUtils -keepattributes Signature,Annotation -keep public class org.xutils.** { public protected ;...
符号重命名程序(resym.exe)增加对.obj文件的支持,并更新了文档(sdk\static_docs)。 3. 编译生成安装软件时已支持打包静态编译后的程序,但需事先静态编译出该程序。 4. 升级加密狗驱动程序,增加了对 Windows 7,...