نحوه ایجاد فایل ZIP در حافظه در سی شارپ

در این آموزش گام به گام با نحوه ایجاد فایل ZIP در حافظه در سی شارپ آشنا می شوید. برای ایجاد آرشیو ZIP در حافظه باید مراحل ساده زیر را انجام دهید.

مراحل ایجاد فایل ZIP در حافظه در سی شارپ

  1. Aspose.ZIP for .NET مرجع بسته NuGet را به راه حل اضافه کنید
  2. با استفاده از دستور Aspose.Zip در فایل کد Program.cs اضافه کنید
  3. مجوز را برای Aspose.ZIP API با استفاده از روش License.SetLicense اعمال کنید
  4. یک یا همه فایل ها را از پوشه ای که روی دیسک قرار دارد دریافت کنید و مسیرهای آنها را در آرایه رشته ای ذخیره کنید
  5. شیء Archive Class را در حافظه ایجاد کنید
  6. برای هر فایل، یک گره ArchiveEntry در آرشیو ZIP ایجاد کنید
  7. نمونه ZIP Archive را در MemoryStream ذخیره یا کپی کنید

مثال کد سی شارپ زیر را می توان در برنامه دات نت برای فشرده سازی همه فایل های موجود در یک پوشه روی دیسک به ZIP file format و سپس ذخیره فایل ZIP در شی جریان حافظه استفاده کرد.

کد ایجاد فایل ZIP در حافظه در سی شارپ

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

بنابراین، این C# ایجاد فایل فشرده در برنامه کنسول حافظه اساسا به شما کمک می کند تا پوشه را به فرمت ZIP تبدیل کنید و کل محتوای پوشه را در حافظه با فرمت فشرده بنویسید. پس از آن، می توانید فایل ZIP را از MemoryStream C# دوباره ایجاد کرده و در دیسک ذخیره کنید. هنگامی که بایگانی مجدداً در سیستم فایل ایجاد شد، می‌توانید استخراج فایل ZIP با استفاده از سی شارپ کد کنید.

 فارسی