Hur man skapar ZIP-fil i minnet i C#

I denna steg-för-steg handledning kommer du att lära dig hur du skapar ZIP-fil i minnet i C#. Du måste utföra följande enkla steg för att kunna skapa ZIP-arkiv i minnet.

Steg för att skapa ZIP-fil i minnet i C#

  1. Lägg till Aspose.ZIP for .NET NuGet-paketreferens till lösningen
  2. Lägg till med Aspose.Zip-satsen i Program.cs kodfil
  3. Ansök licens för Aspose.ZIP API med metoden License.SetLicense
  4. Hämta enstaka eller alla filer från mappen som finns på disken och lagra deras sökvägar i strängarray
  5. Skapa objekt av Archive Class i minnet
  6. Skapa en ArchiveEntry-nod i ZIP Archive för varje fil
  7. Spara eller kopiera ZIP Archive-instans till MemoryStream

Följande C#-kodexempel kan användas i din .NET-applikation för att komprimera alla filer i en mapp på disken till ZIP file format och sedan lagra ZIP-fil i minnesströmobjekt.

Kod för att skapa ZIP-fil i minnet i C#

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
}
}
}

Så, denna C#-skapa zip-fil i minneskonsolapplikationen hjälper dig i huvudsak att konvertera mapp till ZIP-format och skriva hela mappens innehåll i minnet i komprimerat format. Efteråt kan du återskapa ZIP-fil från MemoryStream C# och spara på disk. När arkivet har återskapats på filsystemet kan du sedan extrahera ZIP-fil med C# koda.

 Svenska