C#'ta ZIP'i TAR'a dönüştürün

C#’ta ZIP’i TAR’a dönüştürün

ZIP arşivleme formatı iyi bilinir ve dosya ve klasörleri tek bir sıkıştırılmış dosyaya sıkıştırmak için yaygın olarak kullanılır. Oysa TAR, çeşitli dosyaların tek bir konuma sıkıştırılmasını sağlayan UNIX tabanlı başka bir dosya formatıdır. Aslında dosya sıkıştırma, herhangi bir çevrimiçi işte olmazsa olmaz bir bileşendir çünkü dosya boyutunu azaltır ve internet üzerinden dosya aktarımını hızlı hale getirir. İzinleri ve hükümleri muhafaza ettiği için çoğu zaman TAR tercih edilir. Bu blog yazısında, bir .NET uygulamasında programlı olarak C# dilinde ZIP’i TAR’a nasıl dönüştüreceğimizi öğreneceğiz.

Aşağıdaki bölümleri ele alacağız:

ZIP’ten TAR’a dönüştürücü API kurulumu

ZIP’ten TAR’a dönüştürmeyi programlı olarak gerçekleştirmek için bu .NET ZIP’i kütüphaneyi kullanacağız. Çeşitli arşiv formatlarını sıkıştırmak ve açmak için kullanılan hafif bir kütüphanedir.

Bu API’yi, DLL dosyalarını indirerek veya NuGet paket yöneticisinde aşağıdaki komutu çalıştırarak yükleyebilirsiniz.

Install-Package Aspose.Zip 

C#’ta Programlı Olarak ZIP’i TAR’a Dönüştürme

ZIP’ten TAR’a dönüştürücü API, ZIP formatını TAR dosya formatına dönüştürmek için yöntemler ve özellikler sunar. Ancak mevcut yöntemlerin listesine burada göz atabilirsiniz.

Bu dönüşümü gerçekleştirmek için aşağıdaki adımları izleyin:

  1. Archive sınıfının bir örneğini oluşturun ve kaynak ZIP dosyasını yükleyin.
  2. TAR özelliklerine erişmek için TarArchive sınıfının bir nesnesini oluşturun.
  3. ZIP’teki her ArchiveEntry’ye erişmek için ArchiveEntry sınıfının bir nesnesini oluşturun.
  4. MemoryStream sınıfının bir nesnesini başlatın ve girişi entry.Open().CopyTo(mem) yöntemini kullanarak kopyalayın.
  5. TAR arşivinde tek bir giriş oluşturmak için CreateEntry yöntemini çağırın.
  6. TAR dosyasını SaveGzipped yöntemini çağırarak kaydedin.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve sunucuyu çalıştırın:

 // Archive sınıfının bir örneğini oluşturun ve kaynak ZIP dosyasını yükleyin 
            using (Archive source = new Archive("CompressDirectory_out.zip"))
            {
                // TAR özelliklerine erişmek için TarArchive sınıfının bir nesnesini oluşturun   
                using (TarArchive tar = new TarArchive())
                {
                    // ZIP'teki her ArchiveEntry'ye erişmek için ArchiveEntry sınıfının bir nesnesini oluşturun 
                    {
                        if (!entry.IsDirectory)
                        { 
                            // MemoryStream sınıfının bir nesnesini başlatın ve entry.Open().CopyTo(mem) yöntemini kullanarak girişi kopyalayın.   
                            MemoryStream mem = new MemoryStream();
                            entry.Open().CopyTo(mem); 
                            // TAR arşivinde tek bir giriş oluşturmak için CreateEntry yöntemini çağırın.             
                            tar.CreateEntry(entry.Name, mem);
                        }
                    }
                    // SaveGzipped yöntemini çağırarak TAR dosyasını kaydedin. 
                    tar.SaveGzipped("result.tar.gz");
                }
            }

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz geçici lisans’tan yararlanabilirsiniz.

Özetliyor

Bu blog yazısını burada sonlandırıyoruz. Bu .NET ZIP’i kitaplık kullanarak C#’ta ZIP’i TAR’a dönüştürme işlemini uyguladık. Ayrıca, .NET uygulamanıza ZIP’ten TAR’a dönüştürme API’sini entegre etmek istiyorsanız bu makale size kesinlikle yardımcı olacaktır. Ayrıca diğer yöntemler ve özellikler hakkında bilgi edinmek için bu kütüphanenin belgelerini ziyaret edebilirsiniz. Son olarak, conholdate.com başka konularda yeni blog yazıları yazıyor. Bu nedenle, düzenli güncellemeler için lütfen iletişim halinde kalın.

Bir soru sor

Sorularınızı veya sorularınızı forumumuz üzerinden bize bildirebilirsiniz.

Ayrıca bakınız