Hoe maak je een ZIP-bestand in het geheugen in C#

In deze stapsgewijze zelfstudie leert u hoe u een ZIP-bestand in het geheugen in C# maakt. U moet de volgende eenvoudige stappen uitvoeren om een ZIP-archief in het geheugen te kunnen maken.

Stappen om een ZIP-bestand in het geheugen te maken in C#

  1. Voeg Aspose.ZIP for .NET NuGet-pakketreferentie toe aan oplossing
  2. Voeg toe met behulp van de Aspose.Zip-instructie in het Program.cs-codebestand
  3. Pas een licentie toe voor Aspose.ZIP API met behulp van de License.SetLicense-methode
  4. Haal enkele of alle bestanden uit de map op schijf en sla hun paden op in stringarray
  5. Maak een object van Archive Class in het geheugen
  6. Maak voor elk bestand een ArchiveEntry-knooppunt in ZIP-archief
  7. Bewaar of kopieer ZIP Archive-instantie naar MemoryStream

Het volgende C#-codevoorbeeld kan in uw .NET-toepassing worden gebruikt om alle bestanden in een map op schijf te comprimeren naar ZIP file format en vervolgens het ZIP-bestand op te slaan in het geheugenstroomobject.

Code om ZIP-bestand in het geheugen te maken in 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
}
}
}

Dus deze C#-aanmaak-zip-bestand in de geheugenconsole-toepassing zal u in wezen helpen om de map naar ZIP-indeling te converteren en de volledige inhoud van de map in het geheugen in gecomprimeerd formaat te schrijven. Daarna kunt u het ZIP-bestand opnieuw maken vanuit MemoryStream C# en op schijf opslaan. Zodra het archief opnieuw is aangemaakt op het bestandssysteem, kunt u ZIP-bestand uitpakken met C# coderen.

 Nederlands