概述

有時我們需要組合文件以便更好地處理,而不必壓縮它們。在處理 JPEG 或 DOCX 等已壓縮格式時,進一步壓縮可節省最少的空間。當需要快速存取單一檔案時,歸檔未壓縮的檔案也很有用,因為壓縮的存檔需要先解壓縮。在計算資源有限的情況下,選擇未壓縮的存檔可以減少​​處理開銷,確保更快的存檔和提取過程,而無需壓縮演算法的負擔。
Aspose.ZIP 支援多種存檔格式來儲存您的資料。以下是建立此類檔案的方法。

如何使用 Java 將檔案儲存在未壓縮的 ZIP 檔案中

當處理文件大小不是主要問題的場景時,Java 允許您在 ZIP 檔案中有效地儲存文件,而無需應用壓縮。這對於維護原始文件結構並確保快速存取單一文件至關重要的情況特別有用。對於ZIP 檔案中的儲存文件,請在初始化 Archive 時使用 StoreCompressionSetting 實例。
以下介紹如何在Java中實作未壓縮儲存:

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        File fi1 = new File("alice29.txt");
        File fi2 = new File("asyoulik.txt");
        try (Archive archive = new Archive(new ArchiveEntrySettings(new StoreCompressionSettings()))) {
            archive.createEntry("alice29.txt", fi1);
            archive.createEntry("lcet10.txt", fi2);
            archive.save(zipFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

如何將文件新增至 7Z 檔案而不壓縮

同樣,當您想要將檔案保留在 7z 檔案中時,請在初始化 SevenZipArchive 實例。這可確保檔案原樣包含在檔案中,而不經過任何壓縮演算法。這種方法對於優先考慮快速存取單一檔案的 Java 開發人員特別有利,因為它消除了在使用檔案之前解壓縮的需要。
注意: 此程式碼範例適用於 Aspose.ZIP for Java 版本 24.4 及更高版本

    try (FileOutputStream szFile = new FileOutputStream("archive.7z")) {
        File fi1 = new File("alice29.txt");
        File fi2 = new File("asyoulik.txt");
        try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipStoreCompressionSettings()))) {
            archive.createEntry("alice29.txt", fi1);
            archive.createEntry("lcet10.txt", fi2);
            archive.save(szFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

在 TAR 存檔中高效儲存未壓縮文件

ZIP 和 7z 格式以壓縮而聞名,但也具有未壓縮儲存的能力。相反,存在專門為初始儲存目的而設計的格式。 CPIO 和 Tar 在基於 Unix 的作業系統的早期歷史中都至關重要,它們在 20 世紀 70 年代出現,成為歸檔和管理文件的基本工具。
與 ZIP 等壓縮存檔格式不同,tar 的主要目的是將多個檔案和目錄組合成一個存檔檔案而不進行壓縮。使用 TarArchive 實例 ,無需任何組合設定
範例:

    try (FileOutputStream tarFile = new FileOutputStream("joint.tar")) {
        File fi1 = new File("text.txt");
        File fi2 = new File("picture.png");
        try (TarArchive archive = new TarArchive()) {
            archive.createEntry("text.txt", fi1);
            archive.createEntry("picture.png", fi2);
            archive.save(tarFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

其他支援的 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: