Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Ta klasa reprezentuje plik archiwum bzip2. Użyj jej do kompresji lub dekompresji archiwów bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Dziedziczenie
Implementuje
IArchive, IDisposable, IArchiveFileEntry
Członkowie dziedziczeni
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Uwagi
bzip2 kompresuje pliki za pomocą algorytmu kompresji tekstu Burrows-Wheeler oraz kodowania Huffmana. Zobacz więcej: https://en.wikipedia.org/wiki/Bzip2
Konstruktory
Bzip2Archive()
Inicjalizuje nową instancję klasy Aspose.Zip.Bzip2.Bzip2Archive przygotowaną do kompresji.
public Bzip2Archive()
Przykłady
Poniższy przykład pokazuje, jak skompresować plik.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Bzip2.Bzip2Archive przygotowaną do dekompresji.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parametry
sourceStream
Stream
Źródło archiwum.
loadOptions
Bzip2LoadOptions
Opcje do załadowania archiwum.
Przykłady
Otwórz archiwum z strumienia i wyodrębnij je do MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Uwagi
Ten konstruktor nie dekompresuje. Zobacz metodę Aspose.Zip.Bzip2.Bzip2Archive.Open, aby dekompresować.
Bzip2Archive(string, Bzip2LoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Bzip2.Bzip2Archive przygotowaną do dekompresji.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parametry
path
string
Ścieżka do pliku archiwum.
loadOptions
Bzip2LoadOptions
Opcje do załadowania archiwum.
Przykłady
Otwórz archiwum z pliku według ścieżki i wyodrębnij je do MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Uwagi
Ten konstruktor nie dekompresuje. Zobacz metodę Aspose.Zip.Bzip2.Bzip2Archive.Open, aby dekompresować.
Wyjątki
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
Podana path
, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik na path
zawiera dwukropek (:) w środku ciągu.
Plik nie został znaleziony.
Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.
Plik jest już otwarty.
Metody
Dispose()
Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.
public void Dispose()
Dispose(bool)
Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.
protected virtual void Dispose(bool disposing)
Parametry
disposing
bool
Czy zarządzane zasoby powinny być zwalniane.
Extract(Stream)
Wyodrębnia archiwum do podanego strumienia.
public void Extract(Stream destination)
Parametry
destination
Stream
Strumień docelowy. Musi być zapisywalny.
Przykłady
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Wyjątki
destination
nie obsługuje zapisu.
Extract(string)
Wyodrębnia archiwum do pliku według ścieżki.
public FileInfo Extract(string path)
Parametry
path
string
Ścieżka do pliku docelowego. Jeśli plik już istnieje, zostanie nadpisany.
Zwraca
Informacje o wyodrębnionym pliku.
Wyjątki
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
Podana path
, nazwa pliku, lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik na path
zawiera dwukropek (:) w środku ciągu.
Plik nie został znaleziony.
Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.
Plik jest już otwarty.
ExtractToDirectory(string)
Wyodrębnia zawartość archiwum do podanego katalogu.
public void ExtractToDirectory(string destinationDirectory)
Parametry
destinationDirectory
string
Ścieżka do katalogu, w którym umieszczone zostaną wyodrębnione pliki.
Uwagi
Jeśli katalog nie istnieje, zostanie utworzony.
Wyjątki
destinationDirectory
jest null.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.
Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").
destinationDirectory
jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz zapytać o nieprawidłowe znaki, używając metody System.IO.Path.GetInvalidPathChars.
-lub- ścieżka jest prefiksowana lub zawiera tylko znak dwukropka (:).
Katalog określony przez ścieżkę jest plikiem. -lub- Nazwa sieci nie jest znana.
Open()
Otwiera archiwum do dekompresji i udostępnia strumień z zawartością archiwum.
public Stream Open()
Zwraca
Strumień reprezentujący zawartość archiwum.
Przykłady
Użycie:
Stream decompressed = archive.Open();
.NET 4.0 i wyższe - użyj metody Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 i wcześniejsze - kopiuj bajty ręcznie:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Uwagi
Odczytaj ze strumienia, aby uzyskać oryginalną zawartość pliku. Zobacz sekcję przykładów.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Zapisuje archiwum do podanego strumienia.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parametry
outputStream
Stream
Strumień docelowy.
saveOptions
Bzip2SaveOptions
Opcje do zapisywania archiwum bzip2. Jeśli nie określono, używany będzie rozmiar bloku 900 Kb.
Przykłady
Pisze skompresowane dane do strumienia odpowiedzi http.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Uwagi
outputStream
musi być zapisywalny.
Wyjątki
Źródło danych do archiwizacji nie zostało podane.
outputStream
nie jest zapisywalny.
Źródło pliku jest tylko do odczytu lub jest katalogiem.
Podana ścieżka źródła pliku jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.
Źródło pliku jest już otwarte.
Save(string, Bzip2SaveOptions)
Zapisuje archiwum do podanego pliku docelowego.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parametry
destinationFileName
string
Ścieżka archiwum, które ma zostać utworzone. Jeśli podana nazwa pliku wskazuje na istniejący plik, zostanie on nadpisany.
saveOptions
Bzip2SaveOptions
Opcje do zapisywania archiwum bzip2. Jeśli nie określono, używany będzie rozmiar bloku 900 Kb.
Przykłady
Pisze skompresowane dane do pliku.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Wyjątki
destinationFileName
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
destinationFileName
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku destinationFileName
jest zabroniony.
Podana destinationFileName
, nazwa pliku, lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik na destinationFileName
zawiera dwukropek (:) w środku ciągu.
SetSource(Stream)
Ustala zawartość do skompresowania w archiwum.
public void SetSource(Stream source)
Parametry
source
Stream
Strumień wejściowy do archiwum.
Przykłady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Ustala zawartość do skompresowania w archiwum.
public void SetSource(FileInfo fileInfo)
Parametry
fileInfo
FileInfo
Referencja do pliku, który ma zostać skompresowany.
Przykłady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Ustala zawartość do skompresowania w archiwum.
public void SetSource(string path)
Parametry
path
string
Ścieżka do pliku, który ma zostać skompresowany.
Przykłady
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Wyjątki
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
Podana path
, nazwa pliku, lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik na path
zawiera dwukropek (:) w środku ciągu.
SetSource(TarArchive, TarFormat)
Ustala zawartość do skompresowania w archiwum.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parametry
tarArchive
TarArchive
Archiwum tar do skompresowania.
format
TarFormat
Definiuje format nagłówka tar.
Przykłady
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");
}
}
Uwagi
Użyj tej metody do skomponowania wspólnego archiwum tar.bz2.
SetSource(CpioArchive, CpioFormat)
Ustala zawartość do skompresowania w archiwum.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parametry
cpioArchive
CpioArchive
Archiwum Cpio do skompresowania.
format
CpioFormat
Definiuje format nagłówka cpio.
Przykłady
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");
}
}
Uwagi
Użyj tej metody do skomponowania wspólnego archiwum cpio.bz2.