Archivi come ZIP, RAR, TAR, GZIP, BZIP2 sono comunemente usati per archiviare più di un file e una cartella in un unico contenitore. Un altro motivo principale per i file di archivio è ridurre la dimensione totale del file utilizzando algoritmi di compressione. Proprio come l’analisi e l’estrazione di dati da documenti di vari formati di file, puoi trattare i file di archivio allo stesso modo. Puoi estrarre il testo, le immagini e persino i metadati dai file compressi all’interno degli archivi. In questo articolo, discuteremo di come estrarre i dati degli archivi ZIP utilizzando C# con le tue applicazioni .NET.

Di seguito vengono trattati i seguenti argomenti:

API .NET per estrarre i dati dei file ZIP

GroupDocs.Parser fornisce la soluzione di analisi dei documenti per gli sviluppatori. Utilizzerò la sua API .NET per estrarre i dati dei file ZIP negli esempi C# di questo articolo. L’API consente inoltre l’estrazione di testo, immagini e metadati da un lungo elenco di formati di documento supportati come documenti di elaborazione testi, presentazioni, fogli di calcolo, e-mail, database, eBook e molti altri.

Puoi scaricare il programma di installazione delle DLL o MSI dalla sezione download o installare l’API aggiungendo il relativo pacchetto alla tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Parser

Come estrarre i dati dei file ZIP in C#

GroupDocs.Parser for .NET supporta l’estrazione di dati da vari formati di file di compressione come ZIP, RAR, TAR, BZIP2 e GZIP. Dopo aver recuperato la raccolta di file dal file compresso, è possibile estrarre ulteriormente qualsiasi tipo di dato da ciascun file.

I passaggi seguenti mostrano come estrarre i dati dei file ZIP e recuperare il testo da ogni file racchiuso in C#.

  • Carica l’archivio ZIP utilizzando la classe Parser.
  • Ottieni gli allegati utilizzando il metodo GetContainer
  • Attraversa la raccolta di allegati.
  • Per ogni allegato, puoi ottenere il suo diverso tipo di dati utilizzando i rispettivi metodi della classe Parser.

Il codice sorgente mostra come estrarre i dati dei file ZIP usando C#. In questo esempio, estrarrò l’intero testo da tutti i file all’interno dell’archivio ZIP.

// Estrai i dati degli archivi ZIP in C#
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // Estrarre gli allegati dal contenitore
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // Iterare sulla raccolta di entità
    foreach (ContainerItem item in attachments)
    {
        // Stampa le INFORMAZIONI SUL FILE
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // Estrarre il testo dell'entità ZIP
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

L’output del codice sorgente di cui sopra mostra il testo recuperato da uno dei file PDF all’interno del 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 

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, hai imparato come estrarre i dati degli archivi ZIP usando C# all’interno della tua applicazione .NET. In particolare, ora puoi estrarre dati da file ZIP, RAR, TAR, GZIP e BZIP. Puoi persino creare la tua applicazione .NET di estrazione dati per file compressi. Per maggiori dettagli o informazioni sull’API, visita la documentazione. Per domande, contattaci tramite il forum.

Guarda anche