我需要解压一组是一个zip压缩文件。 这不是一组zip文件,这是一个大的zip文件已被分成根据尺寸要求多个zip文件。
例如,如果你有一个2.5MB zip文件,邮件系统仅支持1MB的文件,你可以问邮编最多1MB创建的3个文件。
所以它创造a.zip.001,a.zip.002,a.zip.003 ......不同的库它们命名不同,但本质上它们都相同的方式工作。
你如何在Java解压呢? 它看起来并不像性病支持这种压缩库。
谢谢。
我需要解压一组是一个zip压缩文件。 这不是一组zip文件,这是一个大的zip文件已被分成根据尺寸要求多个zip文件。
例如,如果你有一个2.5MB zip文件,邮件系统仅支持1MB的文件,你可以问邮编最多1MB创建的3个文件。
所以它创造a.zip.001,a.zip.002,a.zip.003 ......不同的库它们命名不同,但本质上它们都相同的方式工作。
你如何在Java解压呢? 它看起来并不像性病支持这种压缩库。
谢谢。
尝试所有的文件连接成一个单一的文件,然后提取单个文件。 就像是:
File dir = new File("D:/arc");
FileOutputStream fos = new FileOutputStream(new File(
"d:/arc/archieve-full.zip"));
FileInputStream fis = null;
Set<String> files = new TreeSet<String>();
for (String fname : dir.list()) {
files.add(fname);
}
for (String fname : files) {
try {
fis = new FileInputStream(new File(dir.getAbsolutePath(), fname));
byte[] b = new byte[fis.available()];
fis.read(b);
fos.write(b);
} finally {
if (fis != null) {
fis.close();
}
fos.flush();
}
}
fos.close();
ZipFile zipFile = new ZipFile("d:/arc/archieve-full.zip");
/*extract files from zip*/
更新:使用TreeSet
的文件名进行排序,如dir.list()
并不能保证按字母顺序排列。