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