ZIP, RAR, TAR, GZIP, BZIP2 gibi arşivler, genellikle birden fazla dosya ve klasörü tek bir kapta depolamak için kullanılır. Dosyaları arşivlemenin bir diğer ana nedeni, sıkıştırma algoritmalarını kullanarak toplam dosya boyutunu azaltmaktır. Çeşitli dosya biçimlerindeki belgeleri ayrıştırıp ayıklarken olduğu gibi, arşiv dosyalarına da aynı şekilde davranabilirsiniz. Arşivlerde sıkıştırılmış dosyalardan metin, resim ve hatta meta verileri çıkarabilirsiniz. Bu yazıda, .NET uygulamalarınızla C# kullanarak ZIP arşiv verilerini nasıl çıkaracağınızı tartışacağız.

Aşağıdaki konular aşağıda ele alınmıştır:

ZIP dosyaları Verilerini Çıkarmak için .NET API

GroupDocs.Parser, geliştiriciler için belge ayrıştırma çözümü sağlar. Bu makalenin C# örneklerinde onun .NET API to ayıklamak için ZIP dosyaları verilerini kullanacağım. API ayrıca kelime işlem belgeleri, sunumlar, elektronik tablolar, e-postalar, veritabanları, e-Kitaplar ve diğerleri gibi uzun bir desteklenen belge biçimleri listesinden metin, resim ve meta verilerin çıkarılmasına olanak tanır.

DLL’leri veya MSI yükleyicisini indirilenler bölümünden indirebilir veya NuGet yoluyla .NET uygulamanıza paketini ekleyerek API’yi yükleyebilirsiniz.

PM> Install-Package GroupDocs.Parser

C#’ta ZIP Dosyaları Verilerini Çıkarma

GroupDocs.Parser for .NET, ZIP, RAR, TAR, BZIP2 ve GZIP gibi çeşitli sıkıştırma dosyası biçimlerinden veri çıkarmayı destekler. Sıkıştırılmış dosyadan dosya koleksiyonunu aldıktan sonra, her dosyadan her türlü veriyi daha fazla çıkarabilirsiniz.

Aşağıdaki adımlar, ZIP dosyaları verilerinin nasıl ayıklanacağını ve C# dilinde her bir kapalı dosyadan nasıl metin alınacağını gösterir.

  • ZIP arşivini Parser sınıfını kullanarak yükleyin.
  • GetContainer yöntemini kullanarak ekleri edinin
  • Eklerin koleksiyonunda gezinin.
  • Her ek için, Parser sınıfının ilgili yöntemlerini kullanarak farklı türden verileri alabilirsiniz.

Kaynak kodu, C# kullanarak ZIP dosyaları verilerinin nasıl çıkarılacağını gösterir. Bu örnekte, tüm metni ZIP arşivindeki tüm dosyalardan çıkaracağım.

// ZIP Arşiv Verilerini C# ile Çıkarın
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // Ekleri kapsayıcıdan çıkarın
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // Varlık koleksiyonu üzerinde yineleme yapın
    foreach (ContainerItem item in attachments)
    {
        // DOSYA BİLGİSİNİ yazdır
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // ZIP varlık metnini ayıklayın
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

Yukarıdaki kaynak kodun çıktısı, ZIP dosyası içindeki PDF dosyalarından birinden alınan metni gösterir.

 -----------------------------------
 Name: sample.pdf
 File Size: 33370 Bytes
 -----------------------------------

 Heading

 This is the first paragraph of the sample document that contains some sample
 text, bulleted list, numbered list and more.

    •  Bullet Item 1
    •  Bullet Item 2
    •  Bullet Item 3
 
 This is the second paragraph of the sample document and after this, there is a
 numbered list: 

    1. Numbered Item 1
    2. Numbered Item 2
    3. Numbered Item 3 

Ücretsiz API Lisansı Alın

API’yi değerlendirme sınırlamaları olmadan kullanmak için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Özetlemek gerekirse, .NET uygulamanızda C# kullanarak ZIP arşiv verilerini nasıl çıkaracağınızı öğrendiniz. Daha spesifik olarak artık ZIP, RAR, TAR, GZIP ve BZIP dosyalarından veri çıkarabilirsiniz. Sıkıştırılmış dosyalar için kendi veri çıkarma .NET uygulamanızı bile oluşturabilirsiniz. Daha fazla ayrıntı veya API hakkında bilgi edinmek için belgeleri ziyaret edin. Sorularınız için forum aracılığıyla bize ulaşın.

Ayrıca bakınız