目前我正在使用下面的代码将zip复制到另一个zip文件中。但是,当zip文件大小增加时,例如:2GB,程序将丢失内存错误。我已将xmx增加到1024,仍然是重要的是相同的。是否有任何替代方法来处理大文件?要将zip文件复制到另一个zip文件
public static void zipFile(File srcFile, File zipFile)
throws FileNotFoundException, IOException {
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(zipFile);
ZipOutputStream out = new ZipOutputStream(
new BufferedOutputStream(dest));
// out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = new byte[BUFFER];
FileInputStream fi = new FileInputStream(srcFile);
origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(srcFile.getName());
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, count);
}
origin.close();
out.close();
}
1024只有1GB – 2012-07-15 10:20:52
你可以用代码标签包装你的代码吗?选择您的所有代码并按CTRL + K – Lopina 2012-07-15 10:22:59
BUFFER的价值是什么? – Michael 2012-07-15 10:25:46