ZIP به TGZ C#

در این پست وبلاگ، نحوه تبدیل فایل‌های ZIP به فرمت TGZ(tar.gz) با استفاده از C# را بررسی خواهیم کرد. تبدیل از ZIP به TGZ یک کار متداول است، به خصوص زمانی که با فایل های فشرده برای سیستم های مشابه یونیکس سروکار داریم. آموزش زیر شامل توضیح گام به گام و کدهای لازم برای شروع می باشد.

چرا ZIP را به TGZ تبدیل کنیم؟

ممکن است به دلایل مختلف نیاز به تبدیل ZIP به فرمت TGZ داشته باشید:

  • سازگاری بین پلتفرم: فایل‌های TGZ معمولاً در سیستم‌های مبتنی بر یونیکس (لینوکس، macOS) استفاده می‌شوند، در حالی که فایل‌های ZIP در ویندوز محبوب هستند. تبدیل ZIP به TGZ کار با فایل های فشرده را در محیط های مختلف آسان تر می کند.

  • مزایای فشرده سازی: فایل های TGZ به طور کلی نسبت فشرده سازی بهتری را در مقایسه با ZIP ارائه می دهند که باعث صرفه جویی در فضای ذخیره سازی و کاهش زمان انتقال می شود.

  • خودکار کردن وظایف: در سی شارپ، تبدیل خودکار فرمت فایل می تواند در زمان و تلاش صرفه جویی کند، به خصوص در برنامه هایی که با حجم زیادی از داده سروکار دارند.

تبدیل ZIP به TGZ - پیکربندی C# API

می‌توانید با نصب Conholdate.Total for .NET با اجرای دستور NuGet زیر در Visual Studio IDE، ZIP را به TGZ تبدیل کنید:

PM> NuGet\Install-Package Conholdate.Total

تبدیل ZIP به TGZ در سی شارپ

مراحل زیر نحوه تبدیل ZIP به TGZ در سی شارپ را نشان می دهد:

  • بارگیری فایل ZIP: کلاس Archive فایل ZIP مبدأ حاوی ورودی هایی را که می خواهید به فرمت TGZ تبدیل کنید بارگیری می کند.

  • ایجاد یک TarArchive: برای شروع آماده سازی محتوا برای فایل TGZ، یک شی TarArchive ایجاد می کنیم.

  • پردازش ورودی ها: هر ورودی در فایل ZIP تکرار می شود. اگر دایرکتوری نیست، داده های آن را در MemoryStream استخراج می کنیم.

  • افزودن ورودی به TarArchive: برای هر ورودی معتبر، از روش CreateEntry برای افزودن فایل به تاربال به همراه داده های ذخیره شده در حافظه استفاده می شود.

  • ذخیره به عنوان TGZ: روش SaveGzipped برای فشرده سازی و ذخیره tarball به عنوان یک فایل tar.gz فراخوانی می شود.

قطعه کد زیر تبدیل ZIP به TGZ را در سی شارپ نشان می دهد:

using (Archive source = new Archive("source.zip"))
{
    using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.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");
    }
}

مجوز ارزیابی رایگان

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

نتیجه گیری

تبدیل ZIP به TGZ در سی شارپ یک فرآیند ساده برای پردازش آرشیوهای فشرده است. چه با به اشتراک گذاری فایل بین پلتفرمی یا بهینه سازی اندازه فایل سر و کار داشته باشید، این فرآیند تبدیل بسیار سودمند است. با دنبال کردن مثال کد ارائه شده، می توانید تبدیل ZIP به TGZ را در برنامه های NET خود به طور خودکار انجام دهید و از سازگاری و کارایی در مدیریت فایل های فشرده اطمینان حاصل کنید. در صورت داشتن هر گونه سوال، لطفاً برای ما در [فروم 5 بنویسید.

سوالات متداول

آیا فرمت TGZ در ویندوز پشتیبانی می شود؟

بله، در حالی که در سیستم های مبتنی بر یونیکس رایج تر است، فایل های TGZ نیز می توانند در ویندوز استخراج و ایجاد شوند.

آیا می توانم دایرکتوری ها را در بایگانی TGZ قرار دهم؟

بله، کد را می توان با حذف !entry.IsDirectory بررسی و مدیریت دایرکتوری ها به گونه ای تغییر داد که شامل دایرکتوری ها شود.

آیا می توان تبدیل ZIP به TGZ را خودکار کرد؟

بله، کد ارائه شده را می توان در برنامه های C# بزرگتر ادغام کرد و امکان تبدیل خودکار به صورت دسته ای یا کارهای برنامه ریزی شده را فراهم می کند.

همچنین ببینید