Arsip seperti ZIP, RAR, TAR, GZIP, BZIP2 biasanya digunakan untuk menyimpan lebih dari satu file dan folder dalam satu wadah. Alasan utama lainnya untuk mengarsipkan file adalah untuk mengurangi ukuran file total menggunakan algoritme kompresi. Sama seperti mem-parsing dan mengekstrak data dari dokumen dengan berbagai format file, Anda dapat memperlakukan file arsip dengan cara yang sama. Anda dapat mengekstrak teks, gambar, dan bahkan metadata dari berkas yang dikompresi di dalam arsip. Pada artikel ini, kita akan membahas cara mengekstrak data arsip ZIP menggunakan C# dengan aplikasi .NET Anda.

Topik-topik berikut dibahas di bawah ini:

.NET API untuk Mengekstrak Data file ZIP

GroupDocs.Parser menyediakan solusi penguraian dokumen untuk pengembang. Saya akan menggunakan .NET API untuk mengekstrak data file ZIP dalam contoh C# artikel ini. API selanjutnya memungkinkan ekstraksi teks, gambar, dan metadata dari daftar panjang format dokumen yang didukung seperti dokumen pengolah kata, presentasi, spreadsheet, email, database, eBuku, dan banyak lainnya.

Anda dapat mengunduh penginstal DLL atau MSI dari bagian unduhan atau menginstal API dengan menambahkan paketnya ke aplikasi .NET Anda melalui NuGet.

PM> Install-Package GroupDocs.Parser

Cara Mengekstrak Data File ZIP di C#

GroupDocs.Parser for .NET mendukung ekstraksi data dari berbagai format file kompresi seperti ZIP, RAR, TAR, BZIP2, & GZIP. Setelah mengambil kumpulan file dari file terkompresi, Anda selanjutnya dapat mengekstrak data apa pun dari setiap file.

Langkah-langkah berikut menunjukkan cara mengekstrak data file ZIP dan mengambil teks dari setiap file terlampir di C#.

  • Muat arsip ZIP menggunakan kelas Parser.
  • Dapatkan lampiran menggunakan metode GetContainer.
  • Lintasi koleksi lampiran.
  • Untuk setiap lampiran, Anda bisa mendapatkan jenis datanya yang berbeda menggunakan metode kelas Parser masing-masing.

Kode sumber menunjukkan cara mengekstrak data file ZIP menggunakan C#. Dalam contoh ini, saya akan mengekstrak seluruh teks dari semua file dalam arsip ZIP.

// Ekstrak Data Arsip ZIP di C#
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // Ekstrak lampiran dari wadah
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // Ulangi kumpulan entitas
    foreach (ContainerItem item in attachments)
    {
        // Cetak INFO FILE
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // Ekstrak teks entitas ZIP
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

Keluaran dari kode sumber di atas menunjukkan teks yang diambil dari salah satu file PDF di dalam file ZIP.

 -----------------------------------
 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 

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Singkatnya, Anda belajar cara mengekstrak data arsip ZIP menggunakan C# dalam aplikasi .NET Anda. Lebih khusus lagi Anda sekarang dapat mengekstrak data dari file ZIP, RAR, TAR, GZIP, dan BZIP. Anda bahkan dapat membangun aplikasi .NET ekstraksi data Anda sendiri untuk file terkompresi. Untuk detail lebih lanjut atau mempelajari tentang API, kunjungi dokumentasi. Untuk pertanyaan, hubungi kami melalui forum.

Lihat juga