透過 C# 進行 Zip 轉換

將 ZIP 轉換為各種文件存檔格式

如何使用 C# 轉換 Zip

使用 C# 轉換 ZIP 檔案可以透過 Aspose.Zip for .NET 來實現,這是一個 強大的 API ,可以簡化這個過程。該程式庫使開發人員能夠執行各種操作,包括提取和建立 ZIP 文件,以及密碼保護和壓縮等級自訂。使用Aspose.Zip提供的相關方法,開發人員可以輕鬆處理許多流行存檔檔案格式的ZIP檔案轉換,例如 RAR , CPIO , CAB , TAR 等。

將一個存檔轉換為另一個存檔本質上是第一個存檔的解壓縮和第二個存檔的組合的組合。您可以將臨時提取的資料儲存在 RAM 中,而無需將其刷新到磁碟。注意記憶體消耗並了解可以分配多少記憶體來駐留這些條目。

開發人員指南 - 檔案轉換

提供的程式碼片段示範如何使用 C# 將 RAR 檔案轉換為 ZIP 格式。它利用 Aspose.Zip 庫輕鬆提取 RAR 條目,然後在 ZIP 檔案中建立相應的條目。

讓我們逐步查看此範例:

  1. 實例化 ZIP 檔案 準備壓縮。我們將在後續步驟中填寫條目。
  2. 實例化 Rar 檔案 準備解壓縮,提供存檔的路徑。
  3. 提取 將每個條目暫時儲存。
  4. 撰寫 該儲存中的 zip 條目。如果該條目代表目錄,我們只需使用它的路徑。
  5. 儲存 將檔案儲存到提供的路徑。

從 RAR 轉換為 ZIP

提供的程式碼片段示範如何使用 C# 將 RAR 檔案轉換為 ZIP 格式。它利用 Aspose.Zip 庫輕鬆提取 RAR 條目,然後在 ZIP 檔案中建立相應的條目。

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

從 ZIP 轉換為 7Z

此程式碼片段展示了透過 C# 將 ZIP 檔案轉換為 7Z 格式。利用 SevenZipArchive 庫,該腳本提取 ZIP 條目並在 7Z 存檔中建立對應的條目。

讓我們逐步查看此範例:

1. 實例化 7z 檔案 準備壓縮。我們將在後續步驟中用條目填充它。
2. 實例 ZIP 檔案 準備解壓縮,提供存檔路徑。
3. 提取 每個條目到暫存。
4. 撰寫 該儲存中的 7z 條目。
5. 儲存 存檔到提供的路徑。

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

從 TAR.GZ 檔案轉換為 ZIP

這裡提供的程式碼片段示範了透過 C# 將 TAR.GZ (GZIP) 檔案轉換為 ZIP 格式。 TarArchive 類別具有方便的方法來操作壓縮的 tarball 存檔,特別是 gzipped,該腳本從 TAR.GZ 檔案中提取條目並在 ZIP 存檔中建立相應的條目。

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

文檔中的轉換函數

Aspose.Zip .NET API 以其處理複雜存檔轉換的強大功能而聞名,允許以最高的效率和可靠性在各種存檔格式之間進行無縫轉換。透過將 ZIP 檔案轉換為其他流行的存檔格式(反之亦然)的能力,開發人員可以確保跨不同平台和應用程式的資料完整性和最佳效能。這項重要的轉換功能簡化了資料傳輸、儲存和共享的過程,實現與不同軟體環境的平滑相容。透過利用Aspose.Zip .NET API,使用者可以輕鬆地操作存檔檔案並促進與所需應用程式的無縫集成,從而提高工作效率和工作流程效率。 ZIP 命名空間包含表示 zip 檔案和常見檔案相關實體的類別。

安裝 Aspose.Zip for .NET 函式庫

如果您已使用 MSI 安裝程式部署 Aspose.ZIP,請依照下列步驟完全移除該元件以及相關的示範和文件:

  1. 從“開始”功能表中,選擇“設定”,然後選擇“控制台”。
  2. 點選「新增/移除程式」。
  3. 選擇Aspose.ZIP。
  4. 點選「更改/刪除」按鈕刪除 Aspose.ZIP。
    有關C#庫安裝的更多詳細信息,請參閱 Aspose.ZIP文件

其他支援的存檔檔案轉換

您也可以將 CAB、RAR、TAR、CPIO、TAR.BZ2、TAR.GZ、TAR.LZ、TAR.XZ、TAR.Z 檔案轉換為許多其他檔案格式,包括下面列出的幾種: