概述

由條目組成的檔案具有用於壓縮整個資料夾的 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

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: