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

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

このステップ一歩のチュートリアルでは、どのように作成するかを学びます 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 ドキュメントを参照してください.

 日本語