Як створити ZIP-файл у пам'яті в C#
У цьому поступовому уроці ви дізнаєтеся, як створити ZIP-файл в пам’яті за допомогою C#. Процес, описані тут, дозволяє компресувати файли і папки в ZIP-формат без необхідності створювати фізичний файл на диску.
Переваги створення ZIP-файлів в пам’яті
Виконання результатів:- Уникає перевершення диска I/O, що робить процес швидшим.
Тимчасове зберігання:- З’єднує файли в пам’ять для швидкого доступу та обробки.
гнучкість:- Це дозволяє здійснювати такі операції, як відправлення файлів через мережу без посереднього зберігання.
Докладніше: Підготовка навколишнього середовища
- Налаштування Visual Studio або будь-якого сумісного .NET IDE.
- Налаштуйте Aspose.ZIP з NuGet Package Manager.
Крок за кроком Посібник для створення ZIP-файлу в пам’яті
Крок 1: Інсталяція Aspose.ZIP
Почніть додаванням бібліотеки Aspose.ZIP до вашого проекту.
Install-Package Aspose.ZIP
Крок 2: Увімкніть назву
Додайте до Aspose.Zip
Назвіть код для використання його функцій.
using Aspose.Zip;
Крок 3: Завантажити файли з диска
Відновлення файлових шляхів з джерелової папки в рядку рядків.
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
Крок 4: Створення архівного об’єкта
Негайно зробіть Archive
Об’єкт в пам’яті зберігати входи ZIP.
using (MemoryStream zipFileInMemory = new MemoryStream())
{
using (Archive zipArchive = new Archive())
{
// Further processing follows here
}
}
Крок 5: Створення архівних записів
Завантажити файл і створити ArchiveEntry
для кожного файлу.
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
Крок 6: Зберегти файл ZIP в пам’яті
Створіть файл ZIP в пам’яті, зберігаючи його в MemoryStream
.
zipArchive.Save(zipFileInMemory);
Повний приклад коду для створення ZIP-файлу в пам’яті
Ось повний код, який ілюструє, як створити файл ZIP в пам’яті:
// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
// Create an empty Archive object for ZIP
using (Archive zipArchive = new Archive())
{
// Get all files from a folder and store their paths in a string array
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
// Loop through the array and create an ArchiveEntry for each file
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
// Save the Archive in memory
zipArchive.Save(zipFileInMemory);
}
}
Додаткова інформація
- Ви можете легко змінити код, щоб застосувати методи шифрування або компресії до файлу ZIP.
- Це рішення дозволяє виконувати додаткові операції на файлі ZIP в пам’яті, наприклад, відправляючи його через мережу або зберігаючи його на диску пізніше.
Заключення
Цей навчальний заклад показав, як створити ZIP-файл в пам’яті за допомогою C#. Слідкуючи за даними, ви можете ефективно керувати компресією файлів у своїх додатках без необхідності створювати фізичні файли. Для більш передових функцій, таких як екстракція ZIP-файлів, перегляньте додаткову документацію Aspose.ZIP.