概述
由條目組成的檔案具有用於壓縮整個資料夾的 createEntries 方法。此類方法尊重目錄結構並循環組合所有子資料夾。您也可以將單一檔案條目新增至存檔中任意位置的任意子資料夾。如何壓縮資料夾
如果您想從整個資料夾建立 ZIP 存檔,同時保留結構,您可以使用 Aspose.Zip API for Java 和以下程式碼。無論所有檔案是否正確關閉,try-with-resources 構造都會在執行所有程式碼後自動關閉 Archive 資源。 File corpus 物件中指定的路徑指示將被壓縮的資料夾。使用 createEntries,存檔的每個元素都會單獨添加,從而保留原始結構,該結構儲存在名為 archive.zip 的檔案中。請務必注意,程式碼不會檢查「D:\Data」資料夾是否存在或其中是否存在檔案。如果該目錄不存在或為空,則程式碼將不會建立任何存檔。
CreateEntries
方法有可選的第二個參數includeRootDirectory 其中指示是否需要將根目錄包含到檔案中。預設值為 true,因此在上面的範例中,所有存檔條目都將位於「Data」資料夾內。如果您只想添加目錄內容,則在此處傳遞 false。
範例 - 從資料夾建立檔案:
try (Archive archive = new Archive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.zip");
}
以下程式碼範例建立一個包含兩個檔案的 ZIP 檔案:「image.bmp」和「lyrics.txt」。 fi1 和 fi2 變數代表這些檔案。存檔物件的 createEntry 方法用於將每個檔案新增至指定路徑的檔案:“data\pictures”表示“image.bmp”,“data\text”表示“lyrics.txt”。總之,此程式碼會建立一個名為“archive.zip”的 ZIP 存檔,其中包含兩個資料夾“data\pictures”和“data\text”,每個資料夾包含各自的文件之一。
try (Archive archive = new Archive()) {
File fi1 = new File("image.bmp");
File fi2 = new File("lyrics.txt");
archive.createEntry("data\\pictures\\photo.bmp", fi1);
archive.createEntry("data\\text\\song.txt", fi2);
archive.save("archive.zip");
}
如何壓縮 7-ZIP 中的資料夾並尊重其結構
以下程式碼示範如何建立 7Z 檔案並將指定目錄中的所有檔案和資料夾新增至其中。它的工作原理與 ZIP 檔案格式的檔案類似。 CreateEntries 是 7Z 檔案的模擬方法。它還具有 includeRootDirectory 參數。 重要:將在 Aspose.ZIP for Java 24.4 中實現
try (SevenZipArchive archive = new SevenZipArchive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.7z");
}
如何在保留其結構的同時壓縮 TAR 中的資料夾
此程式碼為指定目錄建立 TAR 存檔。它利用 Java Archive API 中的 TarArchive 類別來實現此目的。
createEntries
方法將目錄中的所有檔案和資料夾新增至檔案中,保留目錄結構。最後,save 方法將存檔的內容寫入檔案「archive.tar」。
樣本:
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.save("archive.tar");
}
提供的程式碼會建立一個名為「archive.tar」的 TAR 存檔,其中包含兩個條目。目錄存檔 - 它將目錄「D:\Data」中的所有檔案和資料夾新增至檔案中,保留目錄結構。這有效地歸檔了指定目錄的全部內容。單一檔案條目 - 它將「內部」子資料夾中名為「data.bin」的特定檔案新增至檔案。這允許包含特定檔案而無需歸檔整個目錄結構。總之,此程式碼建立了一個結合了目錄級歸檔和單一檔案包含的 TAR 歸檔。
範例 2 – 合併歸檔目錄和
單一檔案
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.createEntry("inner\\data.bin", "data.bin");
archive.save("archive.tar");
}
其他支援的 Aspose.ZIP for Java API 功能
使用Java中的Aspose.ZIP庫,您可以無縫處理與ZIP文件文件相關的各種任務。無論您需要轉換格式、合併文件、編輯內容或提取數據,Aspose.ZIP 都提供全面的功能來簡化您的工作流程並提高工作效率。
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories