File outFileDir = new File(outDir);
if (!outFileDir.exists()) {
boolean isMakDir = outFileDir.mkdirs();
if (isMakDir) {
log.info("创建压缩目录成功");
}
}
ZipFile zip = new ZipFile(zipFile, "gbk");
for (Enumeration enumeration = zip.getEntries(); enumeration.hasMoreElements(); ) {
ZipEntry entry = (ZipEntry) enumeration.nextElement();
String zipEntryName = entry.getName();
InputStream in = zip.getInputStream(entry);

if (entry.isDirectory()) { //处理压缩文件包含文件夹的情况
File fileDir = new File(outDir + zipEntryName);
fileDir.mkdir();
continue;
}

File file = new File(outDir, zipEntryName);
file.createNewFile();
OutputStream out = new FileOutputStream(file);
byte[] buff = new byte[1024];
int len;
while ((len = in.read(buff)) > 0) {
out.write(buff, 0, len);
}
in.close();
out.close();
}

最新文章

  1. iOS 面试总结 一
  2. mongoDB研究笔记:复制集概述
  3. Effective STL(第7条)
  4. wince下的CPU和内存占用率计算
  5. C#委托零基础理解
  6. Android NDK引用预编译的动态链接库
  7. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset (0/1-Trie树)
  8. Bootstrap迁移系列 - Navbar
  9. contiki-main.c 一 打印观察 <contiki学习之五>
  10. 关于datagridview单元格不切换焦点无法获得新输入数据的问题解决方法
  11. 高性能MySql进化论(十一):常见查询语句的优化
  12. 数学(矩阵乘法):HDU 4565 So Easy!
  13. CI(CodeIgniter)学习第二讲
  14. html教程系列--form frameset
  15. 关于IntelliJ IDEA有时候快捷键无效的说明
  16. dex分包方案
  17. 用Fundebug插件记录网络请求异常
  18. 使用GoldenGate EVENTACTIONS执行数据的实时触发和定制化
  19. 引用dataframe的值为什么会不同
  20. 使用Xshell连接Ubuntu详解

热门文章

  1. im_master_search_specification
  2. eclipse 导入外面的jar
  3. java开发环境构建
  4. 如何在cmd命令行中运行Java程序
  5. thinkphp5 二维码生成
  6. shell脚本基础和grep文本处理工具企业应用2
  7. VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决
  8. docker安装rocketmq
  9. Redis 安装 与 使用
  10. 移动端H5不常见兼容收集