در این آموزش گام به گام با نحوه ایجاد فایل ZIP در حافظه در سی شارپ آشنا می شوید. برای ایجاد آرشیو ZIP در حافظه باید مراحل ساده زیر را انجام دهید.
مراحل ایجاد فایل ZIP در حافظه در سی شارپ
- Aspose.ZIP for .NET مرجع بسته NuGet را به راه حل اضافه کنید
- با استفاده از دستور Aspose.Zip در فایل کد Program.cs اضافه کنید
- مجوز را برای Aspose.ZIP API با استفاده از روش License.SetLicense اعمال کنید
- یک یا همه فایل ها را از پوشه ای که روی دیسک قرار دارد دریافت کنید و مسیرهای آنها را در آرایه رشته ای ذخیره کنید
- شیء Archive Class را در حافظه ایجاد کنید
- برای هر فایل، یک گره ArchiveEntry در آرشیو ZIP ایجاد کنید
- نمونه 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 با استفاده از سی شارپ کد کنید.