Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Diese Klasse repräsentiert eine bzip2-Archivdatei. Verwenden Sie sie, um bzip2-Archive zu erstellen oder zu extrahieren.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Vererbung
Implementiert
IArchive, IDisposable, IArchiveFileEntry
Vererbte Mitglieder
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Bemerkungen
bzip2 komprimiert Dateien mit dem Burrows-Wheeler-Blocksortieralgorithmus zur Textkompression und Huffman-Codierung. Weitere Informationen: https://de.wikipedia.org/wiki/Bzip2
Konstruktoren
Bzip2Archive()
Initialisiert eine neue Instanz der Aspose.Zip.Bzip2.Bzip2Archive-Klasse, die für die Komprimierung vorbereitet ist.
public Bzip2Archive()
Beispiele
Das folgende Beispiel zeigt, wie man eine Datei komprimiert.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Initialisiert eine neue Instanz der Aspose.Zip.Bzip2.Bzip2Archive-Klasse, die für die Dekomprimierung vorbereitet ist.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parameter
sourceStream
Stream
Die Quelle des Archivs.
loadOptions
Bzip2LoadOptions
Die Optionen zum Laden des Archivs.
Beispiele
Öffnen Sie ein Archiv aus einem Stream und extrahieren Sie es in einen MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Bemerkungen
Dieser Konstruktor führt keine Dekomprimierung durch. Siehe die Methode Aspose.Zip.Bzip2.Bzip2Archive.Open zur Dekomprimierung.
Bzip2Archive(string, Bzip2LoadOptions)
Initialisiert eine neue Instanz der Aspose.Zip.Bzip2.Bzip2Archive-Klasse, die für die Dekomprimierung vorbereitet ist.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parameter
path
string
Der Pfad zur Archivdatei.
loadOptions
Bzip2LoadOptions
Die Optionen zum Laden des Archivs.
Beispiele
Öffnen Sie ein Archiv aus einer Datei über den Pfad und extrahieren Sie es in einen MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Bemerkungen
Dieser Konstruktor führt keine Dekomprimierung durch. Siehe die Methode Aspose.Zip.Bzip2.Bzip2Archive.Open zur Dekomprimierung.
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die vom System definiierte maximale Länge. Beispielsweise müssen unter Windows-basierte Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, beispielsweise weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
Methoden
Dispose()
Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.
public void Dispose()
Dispose(bool)
Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.
protected virtual void Dispose(bool disposing)
Parameter
disposing
bool
Ob verwaltete Ressourcen freigegeben werden sollen.
Extract(Stream)
Extrahiert das Archiv in den angegebenen Stream.
public void Extract(Stream destination)
Parameter
destination
Stream
Zielstream. Muss beschreibbar sein.
Beispiele
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Ausnahmen
destination
unterstützt das Schreiben nicht.
Extract(string)
Extrahiert das Archiv in die Datei über den Pfad.
public FileInfo Extract(string path)
Parameter
path
string
Der Pfad zur Zieldatei. Wenn die Datei bereits existiert, wird sie überschrieben.
Rückgabewert
Informationen zur extrahierten Datei.
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die vom System definiierte maximale Länge. Beispielsweise müssen unter Windows-basierte Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, beispielsweise weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
ExtractToDirectory(string)
Extrahiert den Inhalt des Archivs in das angegebene Verzeichnis.
public void ExtractToDirectory(string destinationDirectory)
Parameter
destinationDirectory
string
Der Pfad zum Verzeichnis, in das die extrahierten Dateien gelegt werden sollen.
Bemerkungen
Wenn das Verzeichnis nicht existiert, wird es erstellt.
Ausnahmen
destinationDirectory
ist null.
Der angegebene Pfad, Dateiname oder beides überschreiten die vom System definierten maximalen Länge. Beispielsweise müssen unter Windows-basierte Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das vorhandene Verzeichnis.
Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das kein Teil eines Laufwerksbezeichners (“C:") ist.
destinationDirectory
ist eine Nullzeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können ungültige Zeichen mit der Methode System.IO.Path.GetInvalidPathChars abfragen.
-oder- Der Pfad ist mit einem Doppelpunktzeichen (:) vorangestellt oder enthält nur ein Doppelpunktzeichen.
Das Verzeichnis, das durch den Pfad angegeben wird, ist eine Datei. -oder- Der Netzwerkname ist unbekannt.
Open()
Öffnet das Archiv zur Extraktion und stellt einen Stream mit dem Archivinhalt bereit.
public Stream Open()
Rückgabewert
Der Stream, der den Inhalt des Archivs darstellt.
Beispiele
Verwendung:
Stream decompressed = archive.Open();
.NET 4.0 und höher - verwenden Sie die Methode Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 und früher - Bytes manuell kopieren:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Bemerkungen
Lesen Sie aus dem Stream, um den ursprünglichen Inhalt der Datei zu erhalten. Siehe Abschnitt Beispiele.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Speichert das Archiv im angegebenen Stream.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parameter
outputStream
Stream
Zielstream.
saveOptions
Bzip2SaveOptions
Optionen zum Speichern eines bzip2-Archivs. Wenn nicht angegeben, wird eine Blockgröße von 900 Kb verwendet.
Beispiele
Schreibt komprimierte Daten in den HTTP-Antwortstream.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Bemerkungen
outputStream
muss beschreibbar sein.
Ausnahmen
Die Quelle der zu archivierender Daten wurde nicht bereitgestellt.
outputStream
ist nicht beschreibbar.
Die Datenquelle ist schreibgeschützt oder ein Verzeichnis.
Der angegebene Dateiquellenpfad ist ungültig, beispielsweise weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datenquelle ist bereits geöffnet.
Save(string, Bzip2SaveOptions)
Speichert das Archiv in der angegebenen Zieldatei.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parameter
destinationFileName
string
Der Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird sie überschrieben.
saveOptions
Bzip2SaveOptions
Optionen zum Speichern eines bzip2-Archivs. Wenn nicht angegeben, wird eine Blockgröße von 900 Kb verwendet.
Beispiele
Schreibt komprimierte Daten in eine Datei.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Ausnahmen
destinationFileName
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der destinationFileName
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei destinationFileName
ist verweigert.
Der angegebene destinationFileName
, Dateiname oder beides überschreiten die vom System definierten maximalen Länge. Beispielsweise müssen unter Windows-basierte Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter destinationFileName
enthält einen Doppelpunkt (:) in der Mitte des Strings.
SetSource(Stream)
Setzt den Inhalt, der im Archiv komprimiert werden soll.
public void SetSource(Stream source)
Parameter
source
Stream
Der Eingabestream für das Archiv.
Beispiele
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Setzt den Inhalt, der im Archiv komprimiert werden soll.
public void SetSource(FileInfo fileInfo)
Parameter
fileInfo
FileInfo
Die Referenz auf eine Datei, die komprimiert werden soll.
Beispiele
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Setzt den Inhalt, der im Archiv komprimiert werden soll.
public void SetSource(string path)
Parameter
path
string
Pfad zur Datei, die komprimiert werden soll.
Beispiele
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die vom System definierten maximalen Länge. Beispielsweise müssen unter Windows-basierte Plattformen die Pfade weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
SetSource(TarArchive, TarFormat)
Setzt den Inhalt, der im Archiv komprimiert werden soll.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parameter
tarArchive
TarArchive
Tar-Archiv, das komprimiert werden soll.
format
TarFormat
Definiert das Format des Tar-Headers.
Beispiele
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");
}
}
Bemerkungen
Verwenden Sie diese Methode, um ein gemeinsames tar.bz2-Archiv zu erstellen.
SetSource(CpioArchive, CpioFormat)
Setzt den Inhalt, der im Archiv komprimiert werden soll.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parameter
cpioArchive
CpioArchive
Cpio-Archiv, das komprimiert werden soll.
format
CpioFormat
Definiert das Format des Cpio-Headers.
Beispiele
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");
}
}
Bemerkungen
Verwenden Sie diese Methode, um ein gemeinsames cpio.bz2-Archiv zu erstellen.