经过一番研究:
和一些谷歌研究我想出了这个java函数:
static void copyFile(File zipFile, File newFile) throws IOException {
ZipFile zipSrc = new ZipFile(zipFile);
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(newFile));
Enumeration srcEntries = zipSrc.entries();
while (srcEntries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) srcEntries.nextElement();
ZipEntry newEntry = new ZipEntry(entry.getName());
zos.putNextEntry(newEntry);
BufferedInputStream bis = new BufferedInputStream(zipSrc
.getInputStream(entry));
while (bis.available() > 0) {
zos.write(bis.read());
}
zos.closeEntry();
bis.close();
}
zos.finish();
zos.close();
zipSrc.close();
}
这段代码正在运行……但它并不好看和干净……任何人都有一个好主意或一个例子?
编辑:
我想能够添加一些类型的验证,如果zip存档得到正确的结构…所以复制它像普通文件而不考虑其内容对我不起作用…或者你更喜欢之后检查…我不确定这个