[英]Adding 2 files to zip archive with Java
我需要使用 java 將 2 個文件放在一個 zip 存檔中。 我使用以下代碼,它適用於一個文件。 當我用兩個文件調用該方法時,它不會拋出任何異常,但結果我破壞了文件
private File createZipFile(File[] files) throws IOException {
File zipFile = new File("D:\\zip.zip");
FileOutputStream fileOutputStream = new FileOutputStream(zipFile);
ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(fileOutputStream));
for (File file: files) {
BufferedInputStream bufferedInputStream = null;
byte data[] = new byte[1024];
FileInputStream fileInputStream = new FileInputStream(file.getAbsolutePath());
bufferedInputStream = new BufferedInputStream(fileInputStream, 1024);
ZipEntry entry = new ZipEntry(file.getName());
zipOutputStream.putNextEntry(entry);
int count;
while ((count = bufferedInputStream.read(data, 0, 1024)) != -1) {
zipOutputStream.write(data, 0, count);
}
bufferedInputStream.close();
fileInputStream.close();
}
zipOutputStream.close();
return zipFile;
}
看起來您在循環結束時缺少zipOutputStream.closeEntry()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.