سورس کد نرم‌افزار فشرده‌سازی با SharpZipLib یا DotNetZip در VB.NET: یک راهنمای جامع


در دنیای توسعه نرم‌افزار، فشرده‌سازی فایل‌ها و دایرکتوری‌ها نقش بسیار مهمی در کاهش حجم داده‌ها و بهبود کارایی سیستم‌ها ایفا می‌کند. به‌ویژه زمانی که نیاز دارید فایل‌های زیادی را انتقال دهید یا در برنامه‌های خود امکان مدیریت فایل‌ها را به‌صورت بهینه فراهم کنید، استفاده از کتابخانه‌های قدرتمند مانند SharpZipLib و DotNetZip بسیار حیاتی است. در این مقاله، قصد داریم به‌طور کامل و جامع درباره‌ی سورس کدهای مربوط به فشرده‌سازی در VB.NET با این دو کتابخانه صحبت کنیم، مزایا، نحوه‌ی نصب، پیاده‌سازی و مثال‌های عملی را بررسی کنیم.

مقدمه‌ای بر فشرده‌سازی فایل‌ها در VB.NET




فشرده‌سازی فایل‌ها فرآیندی است که در آن حجم فایل‌ها کاهش یافته، و این امر، به‌ویژه در انتقال داده‌ها و ذخیره‌سازی، اهمیت زیادی دارد. در VB.NET، این کار به کمک کتابخانه‌هایی که قابلیت ایجاد فایل‌های فشرده ZIP، استخراج، افزودن فایل‌ها و مدیریت آرشیوهای ZIP را دارند، انجام می‌شود. اما قبل از هر چیز، باید بدانید که چرا باید از SharpZipLib یا DotNetZip استفاده کنیم و چه تفاوت‌هایی میان این دو وجود دارد.

معرفی کتابخانه‌های SharpZipLib و DotNetZip




SharpZipLib




SharpZipLib یک کتابخانه متن باز و قدرتمند است که قابلیت‌های گسترده‌ای برای فشرده‌سازی، استخراج، خواندن و نوشتن فایل‌های ZIP، GZIP، Tar و BZIP2 فراهم می‌کند. این کتابخانه با زبان VB.NET و C# به خوبی سازگار است و در پروژه‌های متنوع کاربرد دارد.

DotNetZip




در مقابل، DotNetZip یک کتابخانه سبک و ساده‌تر است که تمرکز بیشتری بر روی عملیات ZIP دارد. این کتابخانه برای توسعه‌دهندگانی که نیاز به راه‌حل سریع و آسان دارند، بسیار مناسب است. علاوه بر این، DotNetZip امکاناتی چون افزودن فایل‌ها به آرشیو، استخراج، حذف فایل و مدیریت فایل‌های ZIP را به سادگی فراهم می‌کند.

نصب و راه‌اندازی کتابخانه‌ها




برای استفاده از این کتابخانه‌ها در پروژه VB.NET، ابتدا باید آنها را نصب کنیم. بهترین راه، استفاده از NuGet Package Manager است:
- برای نصب SharpZipLib:

در Visual Studio، به قسمت Tools > NuGet Package Manager > Manage NuGet Packages بروید. سپس در قسمت Browse، عبارت "ICSharpCode.SharpZipLib" را جستجو و نصب کنید.
- برای نصب DotNetZip:

در همان قسمت، عبارت "DotNetZip" را جستجو و نصب کنید.
پس از نصب، می‌توانید آنها را در پروژه خود ایمپورت کنید:
vb.net  

Imports ICSharpCode.SharpZipLib.Zip

Imports Ionic.Zip


مثال‌های عملی فشرده‌سازی و استخراج با SharpZipLib




فشرده‌سازی فایل‌ها با SharpZipLib




در این بخش، نمونه کد ساده برای فشرده‌سازی یک فایل در قالب ZIP آورده شده است:
vb.net  

Public Sub CompressFileSharpZipLib(sourceFilePath As String, zipFilePath As String)

Using zipOutputStream As New ZipOutputStream(File.Create(zipFilePath))

zipOutputStream.SetLevel(9) ' بیشترین سطح فشرده‌سازی

Dim fileName As String = Path.GetFileName(sourceFilePath)

Dim entry As New ZipEntry(fileName)

zipOutputStream.PutNextEntry(entry)
Dim buffer As Byte() = New Byte(4095) {}

Using fileStream As FileStream = File.OpenRead(sourceFilePath)

Dim sourceBytes As Integer

Do

sourceBytes = fileStream.Read(buffer, 0, buffer.Length)

zipOutputStream.Write(buffer, 0, sourceBytes)

Loop While sourceBytes >... ← ادامه مطلب در magicfile.ir