C#でメモリ内にZIPファイルを作成する方法

C#でメモリ内にZIPファイルを作成する方法

このステップ・ステップ・チュートリアルでは、C# を使用してメモリで ZIP ファイルを作成する方法を学びます。

メモリでZIPファイルを作成する利点

  • パフォーマンス:- ディスク I/O を上回るのを避け、プロセスを加速させます。

  • 時間の保管:- ファイルをメモリに押し付けて、迅速なアクセスと処理を行います。

  • 柔軟性:- ネットワークを通じてファイルを中間ストレージなしで送信するような操作を容易にします。

原題: Preparing the Environment

  • Visual Studio または 互換性のある .NET IDE を設定します。
  • NuGet Package Manager から Aspose.ZIP をインストールします。

メモリでZIPファイルを作成するためのステップ・ステップガイド

ステップ1: Aspose.ZIP インストール

あなたのプロジェクトに Aspose.ZIP ライブラリを追加することから始まります。

Install-Package Aspose.ZIP

ステップ2:名称を含む

を追加する Aspose.Zip あなたのコードに名前スペースを使用してその機能を使用します。

using Aspose.Zip;

ステップ3:ディスクからファイルをアップロード

ソースフォルダーからストレージにファイルパスを取り戻します。

string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

ステップ4:アーカイブオブジェクトの作成

即座に1 Archive メモリのオブジェクトは、ZIPエントリーを保持します。

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // Further processing follows here
    }
}

ステップ5:アーカイブエントリーを作成する

ファイルをリリースして作成する ArchiveEntry あらゆるファイルに

foreach (string fileDiskPath in filesArray)
{
    string fileName = Path.GetFileName(fileDiskPath);
    zipArchive.CreateEntry(fileName, fileDiskPath);
}

ステップ6:ZIPファイルをメモリに保存する

メモリに ZIP アーカイブを作成して保存します。 MemoryStream.

zipArchive.Save(zipFileInMemory);

メモリで ZIP ファイルを作成するための完全なコード 例

以下は、メモリでZIPファイルを作成する方法を示す完全なコードです。

// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // Create an empty Archive object for ZIP
    using (Archive zipArchive = new Archive())
    {
        // Get all files from a folder and store their paths in a string array
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // Loop through the array and create an ArchiveEntry for each file
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // Save the Archive in memory
        zipArchive.Save(zipFileInMemory);
    }
}

追加情報

  • 簡単にコードを変更して、ZIPファイルに暗号化または圧縮方法を適用できます。
  • このソリューションでは、メモリ内のZIPファイルに追加の操作を実行することができます、例えばネットワークを介して送信したり、後にディスクに保存したりします。

結論

このチュートリアルは、C#を使用してメモリで ZIP ファイルを作成する方法を示しています。提供された出力に従って、物理的なファイルを作成する必要もなくアプリケーション内のファイル圧縮を効率的に管理することができます. ZIP ファイルを抽出するなどの高度な機能については、追加の Aspose.ZIP ドキュメントを参照してください。

 日本語