0
点赞
收藏
分享

微信扫一扫

JAVA解压Zip格式文件的代码

钎探穗 2022-01-28 阅读 52


代码如下,已经测试:

private static void unzipFile(final String dir, final File zf)
{
File file = null;
try
{
ZipFile zipFile = new ZipFile(zf.toString());
Enumeration<?> entries = zipFile.entries();
while (entries.hasMoreElements())
{
ZipEntry entry = (ZipEntry)entries.nextElement();

String filename = entry.getName();

//目录,产生后返回。
if (entry.isDirectory())
{
file = new File(dir + File.separator +filename);
file.mkdirs();
continue;
}
//确实有这种情况。
else if (filename.indexOf('/') >= 0)
{
String subdir = filename.substring(0, filename.lastIndexOf('/'));
file = new File(dir + File.separator +subdir);
file.mkdirs();
}
file = new File(dir + File.separator +filename);
file.createNewFile();

InputStream is = zipFile.getInputStream(entry);
FileOutputStream fos = new FileOutputStream(file);
int count = 0;
byte buf[] = new byte[4096];
while ((count = is.read(buf)) > 0)
{
fos.write(buf, 0, count);
}
fos.close();
is.close();
}
zipFile.close();
}
catch (Exception e)
{
System.out.println(dir+", "+zf+", "+file);
e.printStackTrace();
}
}



举报

相关推荐

0 条评论