0
我想使用Zip4j庫壓縮一堆文件。我傳遞了我想要壓縮的文件的文件路徑列表,並將它們逐個添加到zip文件中。出於某種原因,最後一個文件不會被添加。我檢查了循環的索引,我很確定它們是正確的。我沒有收到任何異常或錯誤消息。以下是我的代碼:Zip4j缺少添加的最後一個文件
// get the path; paths refers to the list of files to compress
String uuidString = UUID.randomUUID().toString();
String path = "H:/public/ZipFiles/" + uuidString + ".zip";
try {
// create the new zip file
ZipFile zipFile = new ZipFile(path);
File fileToAdd;
String message = "";
ZipParameters parameters = new ZipParameters();
// set compression method to store compression
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// Set the compression level
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// add each file to the zipFile
for(int i = 0; i < paths.size(); i++)
{
fileToAdd = new File(paths.get(i));
if(fileToAdd.exists())
{
System.out.println("writing file at " + paths.get(i) + " to the zip file");
zipFile.addFile(fileToAdd, parameters);
}
else
{
message += "File with at path " + paths.get(i) + " was not found.\n";
}
}
} catch (ZipException e) {
e.printStackTrace();
}
所有文件路徑在添加時都會打印。有任何想法嗎?
是否丟失的文件名獲得該行打印出來:'的System.out.println(+ paths.get(我)+「「在寫文件」的拉鍊文件「);' – SrikanthLingala
是的,打印所有文件路徑。 – user2200996
我剛剛嘗試過使用本地機器上的某些文件進行編碼,它對我來說工作正常。我有zip文件中的最後一個文件。很難說爲什麼它沒有得到添加在你的情況。你可以發佈「路徑」的內容嗎?(除非它太大)。 – SrikanthLingala