
Aspose.ZIP for .NET
API C# .NET برای فشردهسازی و استخراج فایلهای ZIP و RAR
API فشردهسازی .NET به توسعهدهندگان نرمافزار امکان فشردهسازی و استخراج فایلها، پوشهها، دایرکتوریها و حفاظت با رمز عبور از آرشیوهای ZIP را در برنامههای C# میدهد.
Aspose.ZIP برای .NET چیست؟
Aspose.ZIP برای .NET یک API قدرتمند برای فشردهسازی اسناد و مدیریت آرشیو است که برای کمک به توسعهدهندگان در فشردهسازی و استخراج مؤثر فایلها و پوشهها با حداقل کدنویسی طراحی شده است. این کتابخانه چندمنظوره فرآیند ایجاد، استخراج، اصلاح و دستکاری آرشیوها را در طیف وسیعی از فرمتها از جمله ZIP، 7Zip، RAR، TAR، GZIP، BZ2، LZ، CPIO، XZ، Z و CAB ساده میکند. این API عملکرد گستردهای برای مدیریت ساختارهای فایل ارائه میدهد، به کاربران امکان فشردهسازی دایرکتوریها، افزودن یا حذف ورودیها در آرشیوهای موجود، و ذخیرهسازی فایلها بدون فشردهسازی را میدهد، در حالی که بهصورت یکپارچه در برنامههای وب ASP.NET یا Windows Forms بر روی سیستمعاملهای مختلف ادغام میشود.
برای اطمینان از امنیت دادهها، این کتابخانه در ایجاد آرشیوهای رمزگذاریشده برتری دارد و از الگوریتمهای استاندارد صنعتی مانند AES 128، AES 192 و AES 256 پشتیبانی میکند. این باعث میشود که یک راهحل ایدهآل برای ذخیرهسازی ایمن و انتقال دادههای حساس باشد و به توسعهدهندگان امکان میدهد ورودیهای خاص را با رمز عبور محافظت کنند یا رمزگذاری را بر کل آرشیوهای 7z اعمال کنند. علاوه بر این، Aspose.ZIP برای .NET برای عملکرد بهینه شده است و از پشتیبانی جریان (stream) بهره میبرد، که امکان پردازش آرشیوهای بزرگ را بدون بارگذاری کل فایل در حافظه فراهم میکند. با ارائه کنترل دقیق بر فرآیند رمزگذاری و رمزگشایی، این API یک مجموعه ابزار بسیار کارآمد و ایمن برای توسعه برنامههای مدرن ارائه میدهد.
شروع کار با Aspose.ZIP برای .NET
روش پیشنهادی برای نصب Aspose.ZIP برای .NET استفاده از NuGet است. لطفاً برای نصب روان، دستور زیر را استفاده کنید.
نصب Aspose.ZIP از طریق دستور NuGet
NuGet\Install-Package Aspose.Zip میتوانید کتابخانه را مستقیماً از صفحه محصول Aspose.ZIP دانلود کنید.
فشردهسازی و استخراج آرشیو با استفاده از API .NET
Aspose.ZIP برای .NET به توسعهدهندگان نرمافزار این امکان را میدهد که آرشیوها را درون برنامههای .NET خود فشرده یا استخراج کنند. این کتابخانه پشتیبانی از برخی فرمتهای رایج آرشیو مانند ZIP، RAR، 7Zip، GZIP، BZ2 و همچنین فرمتهای متعدد لینوکس مانند CPIO، TAR، Lzip، Bzip2، XZ و Z را فراهم کرده است. این کتابخانه پشتیبانی از چندین ویژگی پایه و پیشرفته را ارائه میدهد، از جمله فایلهای ZIP با رمز عبور، استخراج یک فایل خاص از آرشیو، استخراج Zip محافظتشده با رمز عبور، اعمال رمزنگاری و رمزگشایی، و غیره.
چگونه چندین فایل را با استفاده از C# فشرده کنیم؟
using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "There are two poems from Canterbury corpus" });
}
}
}
}
ایجاد آرشیو محافظتشده با رمز عبور با استفاده از C#
Aspose.ZIP برای .NET به توسعهدهندگان نرمافزار امکان فشردهسازی و استخراج فایلها یا پوشهها با حفاظت رمز عبور را در برنامههای C# .NET خود بدون نگرانی درباره ساختار فایلهای زیرین میدهد. این کتابخانه شامل چندین ویژگی مهم مرتبط با حفاظت و رمزنگاری آرشیو است، از جمله رمزنگاری فایلها با AES192، رمزنگاری فایلها با AES256، حفاظت از پوشه با رمز عبور، رمزنگاری چندین فایل با تکنیکهای ترکیبی رمزنگاری، استخراج آرشیوهای رمزنگاریشده با AES، استخراج آرشیو ذخیرهشده رمزنگاریشده با AES، استخراج پوشه رمزنگاریشده به دایرکتوری، استخراج آرشیوی که تنها یک فایل دارد، استخراج آرشیوی که چندین فایل دارد، استخراج آرشیو ذخیرهشده بدون فشردهسازی.
چگونه یک فایل منفرد را با تکنیکهای رمزنگاری سنتی از طریق API C#.NET رمزگذاری کنیم؟
using (FileStream zipFile = File.Open(dataDir + "CompressWithTraditionalEncryption_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
var archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("p@s$")));
archive.CreateEntry("alice29.txt", source1);
archive.Save(zipFile);
}
}
ایجاد آرشیو خوداستخراج (SFX) با استفاده از C#
Aspose.ZIP برای .NET قابلیت ایجاد و مدیریت آرشیو خوداستخراج (SFX) را درون برنامههای .NET خود توسعهدهندگان نرمافزار فراهم کرده است. یک آرشیو خوداستخراج (SFX) فایلی اجرایی با آرشیوی تعبیهشده است که میتواند پس از اجرا بهصورت خودکار استخراج شود. این کتابخانه چندین ویژگی مهم برای کار با آرشیو خوداستخراج شامل ایجاد یک نمونه آرشیو خوداستخراج، تنظیم رمز عبور، اجرای آرشیو خوداستخراج (نیازمند .NET Framework 2.0 یا بالاتر) و غیره را شامل میشود. همچنین این کتابخانه برخی گزینههای خط فرمان برای آرشیو خوداستخراج ارائه داده است.
چگونه یک آرشیو خوداستخراجپذیر را از طریق API C# ایجاد کنیم؟
using (FileStream zipFile = File.Open("archive.exe", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
var sfxOptions = new SelfExtractorOptions()
{
ExtractorTitle = "Extractor",
CloseWindowOnExtraction = true,
TitleIcon = "C:\pictorgam.ico"
};
archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
}
}
تبدیل آرشیو ZIP به tar.gz، tar.lz، tar.xz و موارد دیگر با استفاده از API .NET
Aspose.ZIP برای .NET به توسعهدهندگان نرمافزار امکان تبدیل آرشیو ZIP به بسیاری از فرمتهای دیگر را بهراحتی میدهد، از جمله tar.gz، tar.lz، tar.xz و غیره. یک فایل tar.gz ترکیبی از یک فایل .tar و یک فایل .gz است. این فرمت یکی از پرکاربردترین فرمتهای فشردهسازی در دنیای لینوکس محسوب میشود، در حالی که ZIP برای ویندوز محبوبترین است. Aspose.ZIP برای .NET پشتیبانی کامل برای استخراج ورودیها از آرشیو ZIP و قرار دادن مستقیم آنها در آرشیو tar.gz تنها با چند خط کد فراهم کرده است. مثالهای زیر نشان میدهند چگونه این کار انجام شود.
چگونه ورودیهای آرشیو ZIP را از طریق API .NET استخراج کنیم؟
using (Archive source = new Archive("source.zip"))
{
using (TarArchive tar = new TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
