Class GzipArchive

Class GzipArchive

Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)

Questa classe rappresenta un file di archivio gzip. Usala per comporre o estrarre archivi gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Ereditarietà

objectGzipArchive

Implementa

IArchive, IDisposable, IArchiveFileEntry

Membri Ereditati

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Osservazioni

L’algoritmo di compressione Gzip si basa sull’algoritmo DEFLATE, che è una combinazione di LZ77 e codifica Huffman.

Costruttori

GzipArchive()

Inizializza una nuova istanza della classe Aspose.Zip.Gzip.GzipArchive preparata per la compressione.

public GzipArchive()

Esempi

Il seguente esempio mostra come comprimere un file.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Stream, bool)

Inizializza una nuova istanza della classe Aspose.Zip.Gzip.GzipArchive preparata per la decompressione.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parametri

sourceStream Stream

La sorgente dell’archivio.

parseHeader bool

Se analizzare l’intestazione dello stream per determinare le proprietà, incluso il nome. Ha senso solo per stream ricercabili.

Esempi

Apri un archivio da uno stream ed estrailo in un MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Osservazioni

Questo costruttore non decompatta. Vedi il metodo Aspose.Zip.Gzip.GzipArchive.Open per la decompressione.

GzipArchive(string, bool)

Inizializza una nuova istanza della classe Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parametri

path string

Il percorso del file di archivio.

parseHeader bool

Se analizzare l’intestazione dello stream per determinare le proprietà, incluso il nome. Ha senso solo per stream ricercabili.

Esempi

Apri un archivio da un file per percorso ed estrailo in un MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Osservazioni

Questo costruttore non decompatta. Vedi il metodo Aspose.Zip.Gzip.GzipArchive.Open per la decompressione.

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file a path contiene due punti (:) nel mezzo della stringa.

Proprietà

Name

Nome del file originale.

public string Name { get; }

Valore della Proprietà

string

Metodi

Dispose()

Esegue operazioni definite dall’applicazione associate al rilascio, liberazione o ripristino delle risorse non gestite.

public void Dispose()

Dispose(bool)

Esegue operazioni definite dall’applicazione associate al rilascio, liberazione o ripristino delle risorse non gestite.

protected virtual void Dispose(bool disposing)

Parametri

disposing bool

Se le risorse gestite devono essere rilasciate.

Extract(Stream)

Estrae l’archivio nello stream fornito.

public void Extract(Stream destination)

Parametri

destination Stream

Stream di destinazione. Deve essere scrivibile.

Esempi

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Eccezioni

ArgumentException

destination non supporta la scrittura.

InvalidDataException

Lo stream è corrotto e non contiene dati validi.

Extract(string)

Estrae l’archivio nel file per percorso.

public FileInfo Extract(string path)

Parametri

path string

Il percorso del file di destinazione. Se il file esiste già, verrà sovrascritto.

Restituisce

FileInfo

Info del file estratto.

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file a path contiene un colon (:) nel mezzo della stringa.

InvalidDataException

Lo stream è corrotto e non contiene dati validi.

ExtractToDirectory(string)

Estrae il contenuto dell’archivio nella directory fornita.

public void ExtractToDirectory(string destinationDirectory)

Parametri

destinationDirectory string

Il percorso della directory in cui posizionare i file estratti.

Osservazioni

Se la directory non esiste, verrà creata.

Eccezioni

ArgumentNullException

destinationDirectory è nullo.

PathTooLongException

Il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

SecurityException

Il chiamante non ha il permesso richiesto per accedere alla directory esistente.

NotSupportedException

Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").

ArgumentException

destinationDirectory è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi. Puoi interrogare i caratteri non validi utilizzando il metodo System.IO.Path.GetInvalidPathChars. -oppure- il percorso è prefissato con, o contiene, solo un carattere due punti (:).

IOException

La directory specificata dal percorso è un file. -oppure- Il nome di rete non è conosciuto.

Open()

Apre l’archivio per estrazione e fornisce uno stream con il contenuto dell’archivio.

public Stream Open()

Restituisce

Stream

Lo stream che rappresenta il contenuto dell’archivio.

Esempi

Estrae l'archivio e copia il contenuto estratto nello stream di file.

using (var archive = new GzipArchive("archive.gz"))
{
    using (var extracted = File.Create("data.bin"))
    {
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }            
}

Puoi usare il metodo Stream.CopyTo per .NET 4.0 e versioni successive: `unpacked.CopyTo(extracted);`

Osservazioni

Leggi dallo stream per ottenere il contenuto originale del file. Vedi la sezione esempi.

Save(Stream)

Salva l’archivio nello stream fornito.

public void Save(Stream outputStream)

Parametri

outputStream Stream

Stream di destinazione.

Esempi

Scrive i dati compressi nello stream di risposta http.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Osservazioni

outputStream deve essere scrivibile.

Eccezioni

ArgumentException

outputStream non è scrivibile.

InvalidOperationException

La sorgente non è stata fornita.

Save(string)

Salva l’archivio nel file di destinazione fornito.

public void Save(string destinationFileName)

Parametri

destinationFileName string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

Esempi

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Eccezioni

ArgumentNullException

destinationFileName è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il destinationFileName è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file destinationFileName negato.

PathTooLongException

Il destinationFileName, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file a destinationFileName contiene un colon (:) nel mezzo della stringa.

SetSource(Stream)

Imposta il contenuto da comprimere all’interno dell’archivio.

public void SetSource(Stream source)

Parametri

source Stream

Lo stream di input per l’archivio.

Esempi

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Imposta il contenuto da comprimere all’interno dell’archivio.

public void SetSource(FileInfo fileInfo)

Parametri

fileInfo FileInfo

Il riferimento a un file da comprimere.

Esempi

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(string)

Imposta il contenuto da comprimere all’interno dell’archivio.

public void SetSource(string path)

Parametri

path string

Percorso del file da comprimere.

Esempi

Apri un archivio da un file per percorso ed estrailo in un MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, sulle piattaforme Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file a path contiene un colon (:) nel mezzo della stringa.

SetSource(TarArchive)

Imposta il contenuto da comprimere all’interno dell’archivio.

public void SetSource(TarArchive tarArchive)

Parametri

tarArchive TarArchive

Archivio Tar da comprimere.

Esempi

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var gzippedArchive = new GzipArchive())
    {
           gzippedArchive.SetSource(tarArchive);
           gzippedArchive.Save("archive.tar.gz");
    }
}

Osservazioni

Usa questo metodo per comporre un archivio joint tar.gz.

 Italiano