Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Tato třída představuje archivní soubor bzip2. Použijte ji k vytvoření nebo extrakci archivů bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Dědění
Implementuje
IArchive, IDisposable, IArchiveFileEntry
Děděné členy
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Poznámky
bzip2 komprimuje soubory pomocí algoritmu komprese textu Burrows-Wheeler a Huffmanova kódování. Více informací: https://en.wikipedia.org/wiki/Bzip2
Konstruktor
Bzip2Archive()
Inicializuje novou instanci třídy Aspose.Zip.Bzip2.Bzip2Archive připravenou pro kompresi.
public Bzip2Archive()
Příklady
Následující příklad ukazuje, jak komprimovat soubor.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Inicializuje novou instanci třídy Aspose.Zip.Bzip2.Bzip2Archive připravenou pro dekompresi.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parametry
sourceStream
Stream
Zdroj archivu.
loadOptions
Bzip2LoadOptions
Možnosti pro načtení archivu.
Příklady
Otevřete archiv ze streamu a extrahujte ho do MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Poznámky
Tento konstruktor neprovádí dekompresi. Podívejte se na metodu Aspose.Zip.Bzip2.Bzip2Archive.Open pro dekompresi.
Bzip2Archive(string, Bzip2LoadOptions)
Inicializuje novou instanci třídy Aspose.Zip.Bzip2.Bzip2Archive připravenou pro dekompresi.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parametry
path
string
Cesta k archivnímu souboru.
loadOptions
Bzip2LoadOptions
Možnosti pro načtení archivu.
Příklady
Otevřete archiv ze souboru podle cesty a extrahujte ho do MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Poznámky
Tento konstruktor neprovádí dekompresi. Podívejte se na metodu Aspose.Zip.Bzip2.Bzip2Archive.Open pro dekompresi.
Výjimky
path
je null.
Volající nemá potřebná oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
Určená path
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
Soubor nebyl nalezen.
Určená cesta je neplatná, například se nachází na nepřiřazeném disku.
Soubor je již otevřen.
Metody
Dispose()
Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.
public void Dispose()
Dispose(bool)
Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.
protected virtual void Dispose(bool disposing)
Parametry
disposing
bool
Zda by měly být uvolněny řízené prostředky.
Extract(Stream)
Extrahuje archiv do poskytnutého streamu.
public void Extract(Stream destination)
Parametry
destination
Stream
Cílový stream. Musí být zapisovatelný.
Příklady
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Výjimky
destination
nepodporuje zápis.
Extract(string)
Extrahuje archiv do souboru podle cesty.
public FileInfo Extract(string path)
Parametry
path
string
Cesta k cílovému souboru. Pokud soubor již existuje, bude přepsán.
Vrátí
Informace o extrahovaném souboru.
Výjimky
path
je null.
Volající nemá potřebná oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
Určená path
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
Soubor nebyl nalezen.
Určená cesta je neplatná, například se nachází na nepřiřazeném disku.
Soubor je již otevřen.
ExtractToDirectory(string)
Extrahuje obsah archivu do poskytnutého adresáře.
public void ExtractToDirectory(string destinationDirectory)
Parametry
destinationDirectory
string
Cesta k adresáři, do kterého budou umístěny extrahované soubory.
Poznámky
Pokud adresář neexistuje, bude vytvořen.
Výjimky
destinationDirectory
je null.
Určená cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.
Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").
destinationDirectory
je řetězec nulové délky, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků. Neplatné znaky můžete zjistit pomocí metody System.IO.Path.GetInvalidPathChars.
-nebo- cesta je předponována nebo obsahuje pouze znak dvojtečky (:).
Adresář určený cestou je soubor. -nebo- Síťový název není znám.
Open()
Otevře archiv pro extrakci a poskytne stream s obsahem archivu.
public Stream Open()
Vrátí
Stream, který představuje obsah archivu.
Příklady
Použití:
Stream decompressed = archive.Open();
.NET 4.0 a vyšší - použijte metodu Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 a starší - kopírujte bajty ručně:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Poznámky
Čtením ze streamu získáte původní obsah souboru. Podívejte se na sekci příkladů.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Uloží archiv do poskytnutého streamu.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parametry
outputStream
Stream
Cílový stream.
saveOptions
Bzip2SaveOptions
Možnosti pro uložení archivu bzip2. Pokud nejsou specifikovány, bude použita velikost bloku 900 Kb.
Příklady
Zapíše komprimovaná data do streamu http odpovědi.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Poznámky
outputStream
musí být zapisovatelný.
Výjimky
Zdroj dat, který má být archivován, nebyl poskytnut.
outputStream
není zapisovatelný.
Zdroj souboru je pouze pro čtení nebo je to adresář.
Určená cesta zdroje souboru je neplatná, například se nachází na nepřiřazeném disku.
Zdroj souboru je již otevřen.
Save(string, Bzip2SaveOptions)
Uloží archiv do poskytnutého cílového souboru.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parametry
destinationFileName
string
Cesta archivu, který má být vytvořen. Pokud určený název souboru odkazuje na existující soubor, bude přepsán.
saveOptions
Bzip2SaveOptions
Možnosti pro uložení archivu bzip2. Pokud nejsou specifikovány, bude použita velikost bloku 900 Kb.
Příklady
Zapíše komprimovaná data do souboru.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Výjimky
destinationFileName
je null.
Volající nemá potřebná oprávnění pro přístup.
destinationFileName
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru destinationFileName
je odepřen.
Určená destinationFileName
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Soubor na destinationFileName
obsahuje dvojtečku (:) uprostřed řetězce.
SetSource(Stream)
Nastaví obsah, který má být komprimován v archivu.
public void SetSource(Stream source)
Parametry
source
Stream
Vstupní stream pro archiv.
Příklady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Nastaví obsah, který má být komprimován v archivu.
public void SetSource(FileInfo fileInfo)
Parametry
fileInfo
FileInfo
Odkaz na soubor, který má být komprimován.
Příklady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Nastaví obsah, který má být komprimován v archivu.
public void SetSource(string path)
Parametry
path
string
Cesta k souboru, který má být komprimován.
Příklady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Výjimky
path
je null.
Volající nemá potřebná oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
Určená path
, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
SetSource(TarArchive, TarFormat)
Nastaví obsah, který má být komprimován v archivu.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parametry
tarArchive
TarArchive
Tar archiv, který má být komprimován.
format
TarFormat
Definuje formát hlavičky tar.
Příklady
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");
}
}
Poznámky
Použijte tuto metodu k vytvoření společného archivu tar.bz2.
SetSource(CpioArchive, CpioFormat)
Nastaví obsah, který má být komprimován v archivu.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parametry
cpioArchive
CpioArchive
Cpio archiv, který má být komprimován.
format
CpioFormat
Definuje formát hlavičky cpio.
Příklady
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");
}
}
Poznámky
Použijte tuto metodu k vytvoření společného archivu cpio.bz2.