如何在沒有文件系統的情況下在zip文件(Java中)中添加/修改/刪除/合併遞歸目錄?如何將一個目錄(文件樹)添加到zip中?
我是否必須尊重郵編條目的順序?
是的,我知道合併的目錄是非常複雜的工作..
如何在沒有文件系統的情況下在zip文件(Java中)中添加/修改/刪除/合併遞歸目錄?如何將一個目錄(文件樹)添加到zip中?
我是否必須尊重郵編條目的順序?
是的,我知道合併的目錄是非常複雜的工作..
如果您需要添加整個目錄與文件遞歸只有Java核心努力ZIP壓縮包,那麼你可以使用從Mkyong's blog很好的例子。如果你需要將文件追加到現有的zip文件中,你應該使用@ McDowell評論的鏈接:Appending files to a zip file with Java
另一個:這個例子完全忽略了條目的順序。是否不需要文件路徑命令? – minmaxavg
本文https://blogs.oracle.com/CoreJavaTechTips/entry/creating_zip_and_jar_files表示文件按順序存儲,寫入。 –
沒有簡單的答案,你需要編寫一段代碼。您不能使用JDK ZipFile類,因爲它只支持讀取zip文件。
改爲使用Commons Compress。看看examples和zip documentation開始。
基本上你需要打開一個輸入壓縮文件和一個輸出壓縮文件。讀取tern中的每個條目,並決定是否將它寫入輸出,轉換和寫入,添加新條目或跳過它。當你到最後關閉兩個zip文件。
處理zip文件時,它並不是真正的遞歸,因爲所有條目都只是一個帶有路徑和文件名的線性列表。遞歸部分來自當一個zip包含一個zip文件,並且這很容易處理。
不確定如何操作,但您可能需要閱讀以下文檔:http://docs.oracle.com/javase/6/docs/api/java/util/zip/ZipFile.html如果你還沒有。 – w4etwetewtwet
[將文件附加到使用Java的zip文件]可能的重複(http://stackoverflow.com/questions/2223434/appending-files-to-a--zip-file-with-java) – McDowell
@McDowell不,我的意思是「遞歸地」,所以它也意味着它也可以合併目錄,遞歸地只刪除指定的文件。這是一項複雜的工作,通過...而且我不需要任何沉重的工具。 – minmaxavg