import java.io.*;
import java.util.*;
import java.util.zip.*;
public class FolderUnzip {
private static String sourcepath="D:\\tmp";
private static ListfolderList=new ArrayList(Arrays.asList(sourcepath));
private static ListfolderList2=new ArrayList(Arrays.asList("E:\\tt"+File.separator+sourcepath.substring(sourcepath.lastIndexOf(File.separator))));
private static FileInputStream fis = null;
private static FileOutputStream fos = null;
private static ZipInputStream zipin = null;
public static void main(String[] args) {
for (int j = 0; j < folderList.size(); j++) {
new File(folderList2.get(j)).mkdirs();
String[] file = new File(folderList.get(j)).list();
File temp = null;
for (int i = 0; i < file.length; i++) {
if (folderList.get(j).endsWith(File.separator))
temp = new File(folderList.get(j), file[i]);
else
temp = new File(folderList.get(j), file[i]);
File originalFile = null;
if (temp.getName().endsWith(".zip"))
originalFile = new File(folderList2.get(j), temp.getName()
.substring(0, temp.getName().lastIndexOf('.')));
if (temp.isFile() && !originalFile.exists()) {
try {
fis = new FileInputStream(temp);
zipin = new ZipInputStream(fis);
ZipEntry entry = zipin.getNextEntry();
fos = new FileOutputStream(new File(folderList2.get(j),entry.getName()));
byte[] buffer = new byte[20480];
int nNumber;
while ((nNumber = zipin.read(buffer, 0, buffer.length)) != -1)
fos.write(buffer, 0, nNumber);
fos.flush();
} catch (IOException e) {
continue;
} finally {
try {
zipin.close();
fos.close();
fis.close();
} catch (IOException e) {
}
}
} else if (temp.isDirectory()) {
folderList.add(folderList.get(j) + File.separator + file[i]);
folderList2.add(folderList2.get(j) + File.separator+ file[i]);
}
}
}
}
} 0
0
相关文章
在Java中synchronized关键字如何使用_Java线程同步基础解析
Java怎么静默播放音频 Java后台无界面播放声音方法【代码】
在Java里Class类的作用是什么_Java反射基础API解析
如何在 Selenium 中正确使用 XPath 查找子元素
Java数组计算方法返回0.0的常见原因及修复方案
java速学教程(入门到精通)
下载
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
C++ 设计模式与软件架构
本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。
7
2026.01.30
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章








