Comment créer un fichier ZIP en mémoire en C#

Dans ce didacticiel pas à pas, vous apprendrez à créer un fichier ZIP en mémoire en C#. Vous devez exécuter les étapes simples suivantes pour pouvoir créer une archive ZIP en mémoire.

Étapes pour créer un fichier ZIP en mémoire en C#

  1. Ajouter Aspose.ZIP for .NET référence de package NuGet à la solution
  2. Ajouter en utilisant l’instruction Aspose.Zip dans le fichier de code Program.cs
  3. Appliquer la licence pour l’API Aspose.ZIP à l’aide de la méthode License.SetLicense
  4. Obtenez un ou tous les fichiers du dossier situé sur le disque et stockez leurs chemins dans un tableau de chaînes
  5. Créer l’objet de Archive Class en mémoire
  6. Pour chaque fichier, créez un nœud ArchiveEntry dans ZIP Archive
  7. Enregistrez ou copiez l’instance d’archive ZIP dans MemoryStream

L’exemple de code C# suivant peut être utilisé dans votre application .NET pour compresser tous les fichiers d’un dossier sur le disque vers ZIP file format, puis stocker le fichier ZIP dans l’objet de flux de mémoire.

Code pour créer un fichier ZIP en mémoire en 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
}
}
}

Ainsi, ce fichier zip de création C# dans l’application de console mémoire vous aidera essentiellement à convertir le dossier au format ZIP et à écrire tout le contenu du dossier en mémoire au format compressé. Ensuite, vous pouvez recréer le fichier ZIP à partir de MemoryStream C# et l’enregistrer sur le disque. Une fois l’archive recréée sur le système de fichiers, vous pouvez ensuite extraire le fichier ZIP en utilisant C# coder.

 Français