java zip 解压 目录_Java实现zip解压缩目录中的所有文件

Java实现zip解压缩目录中的所有文件

1.[代码]Java实现zip解压缩目录中的所有文件

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]);

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值