Jak utworzyć plik ZIP w pamięci w języku C#

W tym samouczku krok po kroku dowiesz się, jak utworzyć plik ZIP w pamięci w języku C#. Musisz wykonać następujące proste kroki, aby móc utworzyć archiwum ZIP w pamięci.

Kroki, aby utworzyć plik ZIP w pamięci w języku C#

  1. Dodaj odwołanie do pakietu NuGet Aspose.ZIP for .NET do rozwiązania
  2. Dodaj instrukcję using Aspose.Zip w pliku kodu Program.cs
  3. Zastosuj licencję na API Aspose.ZIP metodą License.SetLicense
  4. Pobierz pojedyncze lub wszystkie pliki z folderu znajdującego się na dysku i przechowuj ich ścieżki w tablicy ciągów
  5. Utwórz obiekt Archive Class w pamięci
  6. Dla każdego pliku utwórz węzeł ArchiveEntry w archiwum ZIP
  7. Zapisz lub skopiuj instancję ZIP Archive do MemoryStream

Poniższy przykładowy kod w języku C# może służyć w aplikacji .NET do kompresji wszystkich plików w folderze na dysku do ZIP file format, a następnie zapisywania pliku ZIP w obiekcie strumienia pamięci.

Kod do tworzenia pliku ZIP w pamięci w 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
}
}
}

Tak więc ten plik C# do tworzenia plików zip w aplikacji konsoli pamięci zasadniczo pomoże ci przekonwertować folder do formatu ZIP i zapisać całą zawartość folderu w pamięci w formacie skompresowanym. Następnie możesz ponownie utworzyć plik ZIP z MemoryStream C# i zapisać go na dysku. Gdy archiwum zostanie ponownie utworzone w systemie plików, możesz użyć wyodrębnij plik ZIP za pomocą C# kodu.

 Polski