Hogyan hozzunk létre ZIP fájlt a memóriában C#-ban

Ebben a lépésről lépésre bemutatott oktatóanyagban megtudhatja, hogyan hozhat létre ZIP fájlt a memóriában C# nyelven. Az alábbi egyszerű lépéseket kell végrehajtania ahhoz, hogy ZIP-archívumot tudjon létrehozni a memóriában.

A ZIP fájl létrehozásának lépései a memóriában C# nyelven

  1. Adja hozzá a Aspose.ZIP for .NET NuGet-csomag hivatkozást a megoldáshoz
  2. Adja hozzá az Aspose.Zip utasítással a Program.cs kódfájlban
  3. Igényeljen licencet az Aspose.ZIP API-hoz a License.SetLicense metódus használatával
  4. Szerezzen be egy vagy minden fájlt a lemezen található mappából, és tárolja az elérési útjukat egy karakterlánc-tömbben
  5. Hozzon létre Archive Class objektumot a memóriában
  6. Minden fájlhoz hozzon létre egy ArchiveEntry csomópontot a ZIP-archívumban
  7. Mentse vagy másolja a ZIP-archívum példányt a MemoryStreambe

A következő C#-kód példa használható a .NET-alkalmazásban a lemezen lévő mappában lévő összes fájl tömörítésére a ZIP file format-re, majd a ZIP-fájl tárolására a memóriafolyam objektumban.

Kód a ZIP-fájl létrehozásához a memóriában C#-ban

using System.IO;
// Following namespace is required to Create ZIP File in Memory
using Aspose.Zip;
namespace CreateZipFileInMemory
{
class Program
{
static void Main(string[] args)
{
License AsposeZipLicense = new License();
// Load license from file system into memory stream
using (MemoryStream stream = new MemoryStream(File.ReadAllBytes("path to license.lic")))
{
// Set license prior to creating ZIP file in memory
AsposeZipLicense.SetLicense(stream);
}
#region C# code to create ZIP archive in memory
// Create MemoryStream instance
using (MemoryStream zipFileInMemory = new MemoryStream())
{
// Create empty Archive object for ZIP file
using (Aspose.Zip.Archive zipArchive = new Aspose.Zip.Archive())
{
// Get all files from a Folder and store their paths in string Array
string[] filesArray = Directory.GetFiles("ZIP all Files\\", "*.*", SearchOption.TopDirectoryOnly);
// Loop through the Array and create an ArchiveEntry against each file within the ZIP Archive
foreach (string fileDiskPath in filesArray)
{
string[] folders = fileDiskPath.Split(new char[] { '\\' });
string fileName = folders[folders.Length - 1];
zipArchive.CreateEntry(fileName, fileDiskPath);
}
// Call Save method to create ZIP Archive in memory
zipArchive.Save(zipFileInMemory);
}
}
#endregion
}
}
}

Tehát ez a C# létrehozási zip fájl a memóriakonzol alkalmazásban lényegében segít a mappák ZIP formátumba konvertálásában, és a mappa teljes tartalmát tömörített formátumban írhatja a memóriába. Ezután újra létrehozhat ZIP-fájlt a MemoryStream C#-ból, és elmentheti lemezre. Miután az archívum újra létrejött a fájlrendszeren, akkor ZIP fájl kibontása C# segítségével kódolhat.

 Magyar