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à
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
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
Il file a path
contiene due punti (:) nel mezzo della stringa.
Proprietà
Name
Nome del file originale.
public string Name { get; }
Valore della Proprietà
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
destination
non supporta la scrittura.
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
Info del file estratto.
Eccezioni
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
Il file a path
contiene un colon (:) nel mezzo della stringa.
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
destinationDirectory
è nullo.
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.
Il chiamante non ha il permesso richiesto per accedere alla directory esistente.
Se la directory non esiste, il percorso contiene un carattere due punti (:) che non fa parte di un’etichetta di unità (“C:").
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 (:).
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
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
outputStream
non è scrivibile.
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
destinationFileName
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il destinationFileName
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file destinationFileName
negato.
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.
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
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
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.