概述
由條目組成的檔案具有用於壓縮整個資料夾的 createEntries 方法。此類方法尊重目錄結構並循環組合所有子資料夾。您也可以將單一檔案條目新增至存檔中任意位置的任意子資料夾。如何製作 ZIP 存檔
createEntry 方法用於將每個檔案新增至壓縮檔案。在這些範例中,我們沒有指定任何壓縮設置,因此將套用所選格式的預設設定。
try (Archive archive = new Archive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.zip");
}
此程式碼會建立一個名為「archive.zip」的 ZIP 存檔,其中包含兩個檔案:「data1.bin」和「data2.bin 」。以下是其工作原理的詳細說明:
- 自動資源管理: 此程式碼利用 try-with-resources 區塊來確保正確管理資源。該區塊在完成後會自動關閉歸檔物件。
- 將檔案新增至檔案: 在區塊內,程式碼使用 createEntry 方法兩次將檔案新增至檔案:
- 第一個項目名為“first.bin”並包含文件“data1.bin”的內容。
- 第二個條目名為“second.bin”,包含檔案“data2.bin”的內容。將新建立的ZIP 檔案與指定條目一起儲存到「archive.zip」。
如何將檔案新增至 7zip 檔案
為了將多個附件新增至單一 7zip 檔案中,我們以類似的方式使用 SevenZipArchive 類別以及 createEntry 和 save 方法。
try (SevenZipArchive archive = new SevenZipArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.7z");
}
以下程式碼執行與前一程式碼相同的操作,但適用於 7-ZIP 格式。
TAR 製作存檔
擴展檔案通常涉及提取、添加新文件和重新壓縮,這是一個資源密集型過程。 Aspose.ZIP 在 Java 中提供了更聰明的解決方案。只需打開存檔進行提取並直接添加新條目即可,避免不必要的重新打包。這種有效的方法適用於 TAR 存檔格式。
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.tar");
}
此應用程式共享前一個應用程式的功能,但它是為具有 TAR 擴展名的存檔量身定制的。
如何建立 GZ 文件
無條目的僅壓縮格式。這些壓縮格式(包括 GZIP、LZ、BZIP2、XZ 和 Z)不支援檔案條目。他們一次只能壓縮一個原始檔。
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (GzipArchive archive = new GzipArchive()) {
archive.setSource(source);
archive.save("archive.gz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
建立 TAR GZ
Aspose.ZIP 提供了一種使用單一方法組合僅存檔和僅壓縮格式的便利方法。以下是此功能與 TAR.GZ 組合的範例。此方法利用 saveGzipped 方法。
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
archive.saveGzipped("archive.tar.gz");
}
創建塔爾茲
首先,我們建立一個 FileInputStream 對象,連接到要歸檔的檔案。接下來,我們建立 LzipArchive 對象,將來源設定為先前建立的 FileInputStream 物件並儲存存檔。
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (LzipArchive archive = new LzipArchive()) {
archive.setSource(source);
archive.save("archive.lz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
建立 TAR BZ2 文件
Aspose.ZIP 提供了類似的方法來壓縮 LZIP、XZ、ZStandard 和 Z 格式的檔案。然而,BZIP2 需要不同的方法。
try (TarArchive tar = new TarArchive()) {
tar.createEntry("first.bin", "data1.bin");
tar.createEntry("second.bin", "data2.bin");
try (Bzip2Archive archive = new Bzip2Archive()) {
archive.setSource(tar);
archive.save("archive.tar.bz2");
}
}
此程式碼建構結合了兩種不同存檔格式的使用,即 TAR 和 Bzip2。主要特點是,首先使用 TarArchive 類別透過使用 createEntry 方法向其中添加多個檔案來建立 TAR 存檔,然後使用 Bzip2Archive 類別 將此存檔壓縮為 Bzip2 格式。
其他支援的 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