Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Questa classe rappresenta un file di archivio bzip2. Usala per comporre o estrarre archivi bzip2.
public class Bzip2Archive : 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
bzip2 comprime i file utilizzando l’algoritmo di compressione del testo Burrows-Wheeler e la codifica Huffman. Maggiori informazioni: https://en.wikipedia.org/wiki/Bzip2
Costruttori
Bzip2Archive()
Inizializza una nuova istanza della classe Aspose.Zip.Bzip2.Bzip2Archive preparata per la compressione.
public Bzip2Archive()
Esempi
Il seguente esempio mostra come comprimere un file.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Inizializza una nuova istanza della classe Aspose.Zip.Bzip2.Bzip2Archive preparata per la decompressione.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parametri
sourceStream
Stream
La sorgente dell’archivio.
loadOptions
Bzip2LoadOptions
Le opzioni per caricare l’archivio.
Esempi
Apri un archivio da uno stream ed estrailo in un MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Osservazioni
Questo costruttore non decomprime. Vedi il metodo Aspose.Zip.Bzip2.Bzip2Archive.Open per la decompressione.
Bzip2Archive(string, Bzip2LoadOptions)
Inizializza una nuova istanza della classe Aspose.Zip.Bzip2.Bzip2Archive preparata per la decompressione.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parametri
path
string
Il percorso del file di archivio.
loadOptions
Bzip2LoadOptions
Le opzioni per caricare l’archivio.
Esempi
Apri un archivio da un file per percorso ed estrailo in un MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Osservazioni
Questo costruttore non decomprime. Vedi il metodo Aspose.Zip.Bzip2.Bzip2Archive.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 basate su 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.
Il file non è stato trovato.
Il percorso specificato non è valido, come nel caso di un’unità non mappata.
Il file è già aperto.
Metodi
Dispose()
Esegue operazioni definite dall’applicazione associate alla liberazione, rilascio o ripristino delle risorse non gestite.
public void Dispose()
Dispose(bool)
Esegue operazioni definite dall’applicazione associate alla liberazione, rilascio o ripristino delle risorse non gestite.
protected virtual void Dispose(bool disposing)
Parametri
disposing
bool
Se le risorse gestite devono essere liberate.
Extract(Stream)
Estrae l’archivio nello stream fornito.
public void Extract(Stream destination)
Parametri
destination
Stream
Stream di destinazione. Deve essere scrivibile.
Esempi
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Eccezioni
destination
non supporta la scrittura.
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 basate su 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.
Il file non è stato trovato.
Il percorso specificato non è valido, come nel caso di un’unità non mappata.
Il file è già aperto.
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 basate su 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 è 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 verificare i caratteri non validi utilizzando il metodo System.IO.Path.GetInvalidPathChars.
-oppure- il percorso è prefissato da, 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 i contenuti dell’archivio.
Esempi
Utilizzo:
Stream decompressed = archive.Open();
.NET 4.0 e versioni successive - utilizza il metodo Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 e versioni precedenti - copia i byte manualmente:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Osservazioni
Leggi dallo stream per ottenere il contenuto originale del file. Vedi la sezione esempi.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Salva l'archivio nello stream fornito.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parametri
outputStream
Stream
Stream di destinazione.
saveOptions
Bzip2SaveOptions
Opzioni per salvare un archivio bzip2. Se non specificato, verrà utilizzata una dimensione del blocco di 900 Kb.
Esempi
Scrive i dati compressi nello stream di risposta http.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Osservazioni
outputStream
deve essere scrivibile.
Eccezioni
La sorgente dei dati da archiviare non è stata fornita.
outputStream
non è scrivibile.
La sorgente del file è di sola lettura o è una directory.
Il percorso della sorgente del file specificato non è valido, come nel caso di un’unità non mappata.
La sorgente del file è già aperta.
Save(string, Bzip2SaveOptions)
Salva l’archivio nel file di destinazione fornito.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parametri
destinationFileName
string
Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.
saveOptions
Bzip2SaveOptions
Opzioni per salvare un archivio bzip2. Se non specificato, verrà utilizzata una dimensione del blocco di 900 Kb.
Esempi
Scrive i dati compressi in un file.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
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 basate su 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 due punti (:) 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 (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
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 (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
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
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
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 basate su 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 due punti (:) nel mezzo della stringa.
SetSource(TarArchive, TarFormat)
Imposta il contenuto da comprimere all’interno dell’archivio.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parametri
tarArchive
TarArchive
Archivio Tar da comprimere.
format
TarFormat
Definisce il formato dell’intestazione tar.
Esempi
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(tarArchive);
bzippedArchive.Save("archive.tar.bz2");
}
}
Osservazioni
Usa questo metodo per comporre un archivio tar.bz2 congiunto.
SetSource(CpioArchive, CpioFormat)
Imposta il contenuto da comprimere all’interno dell’archivio.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parametri
cpioArchive
CpioArchive
Archivio Cpio da comprimere.
format
CpioFormat
Definisce il formato dell’intestazione cpio.
Esempi
using (var cpioArchive = new CpioArchive())
{
cpioArchive.CreateEntry("first.bin", "data1.bin");
cpioArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(cpioArchive);
bzippedArchive.Save("archive.cpio.bz2");
}
}
Osservazioni
Usa questo metodo per comporre un archivio cpio.bz2 congiunto.