Bagaimana untuk mencipta fail ZIP dalam memori dalam C#

Bagaimana untuk mencipta fail ZIP dalam memori dalam C#

Dalam tutorial langkah-langkah ini, anda akan belajar bagaimana untuk mencipta fail ZIP dalam memori menggunakan C#. Proses yang disenaraikan di sini membolehkan anda untuk memampatkan fail dan folder ke dalam format Zip tanpa perlu membuat fail fizikal pada cakera.

Kelebihan Mencipta Fail ZIP Dalam Memori

    • Perbezaan prestasi :- Mengelakkan cakera I/O di atas, menjadikan proses lebih cepat.
  • Penyimpanan sementara :- Menyimpan fail dalam memori untuk akses dan pemprosesan yang cepat.

  • • Kelebihan fleksibiliti :- Ia memudahkan operasi seperti menghantar fail melalui rangkaian tanpa penyimpanan pertengahan.

Tag: persiapan persekitaran

  • Menyediakan Visual Studio atau mana-mana .NET IDE yang kompatibel.
  • Instal Aspose.ZIP daripada NuGet Package Manager.

Langkah-langkah panduan untuk mencipta fail ZIP dalam memori

Langkah 1: Memasang Aspose.ZIP

Mulakan dengan menambah perpustakaan Aspose.ZIP kepada projek anda.

Install-Package Aspose.ZIP

Langkah 2: Masukkan ruang nama

Tambah kepada Aspose.Zip namaespace kepada kod anda untuk menggunakan fungsi.

using Aspose.Zip;

Langkah 3: Muat turun fail daripada cakera

Memulihkan laluan fail daripada folder sumber ke dalam urutan string.

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

Langkah 4: Mencipta objek arkib

Mempercepatkan A Archive objek dalam memori untuk memegang entri ZIP.

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

Langkah 5: Mencipta entri arkib

Melompat melalui array fail dan mencipta ArchiveEntry untuk setiap fail.

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

Langkah 6: Simpan fail ZIP dalam memori

Mencipta arkib ZIP dalam memori dengan menyimpannya kepada MemoryStream.

zipArchive.Save(zipFileInMemory);

Contoh kod lengkap untuk mencipta fail ZIP dalam memori

Berikut ialah kod lengkap yang menggambarkan bagaimana untuk mencipta fail ZIP dalam memori:

// 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);
    }
}

Maklumat tambahan

  • Anda boleh dengan mudah mengubah kod untuk menggunakan kaedah penyulitan atau kompresi ke dalam fail ZIP.
  • Penyelesaian ini membolehkan anda untuk menjalankan operasi lanjut pada fail ZIP dalam memori, seperti menghantarnya melalui rangkaian atau menyimpannya ke cakera kemudian.

Conclusion

Tutorial ini telah menunjukkan bagaimana untuk mencipta fail ZIP dalam memori menggunakan C#. Dengan mengikuti outline yang disediakan, anda boleh menguruskan kompresi fail secara berkesan dalam aplikasi anda tanpa perlu membuat fail fizikal.

 Melayu