Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Denna klass representerar en bzip2-arkivfil. Använd den för att komprimera eller extrahera bzip2-arkiv.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Arv
Implementerar
IArchive, IDisposable, IArchiveFileEntry
Ärvda medlemmar
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Kommentarer
bzip2 komprimerar filer med hjälp av Burrows-Wheeler blocksorteringsalgoritmen för textkomprimering och Huffman-kodning. Se mer: https://en.wikipedia.org/wiki/Bzip2
Konstruktörer
Bzip2Archive()
Initierar en ny instans av Aspose.Zip.Bzip2.Bzip2Archive-klassen som är förberedd för komprimering.
public Bzip2Archive()
Exempel
Följande exempel visar hur man komprimerar en fil.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Initierar en ny instans av Aspose.Zip.Bzip2.Bzip2Archive-klassen som är förberedd för dekomprimering.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parametrar
sourceStream
Stream
Källan för arkivet.
loadOptions
Bzip2LoadOptions
Alternativen för att ladda arkivet med.
Exempel
Öppna ett arkiv från en ström och extrahera det till en MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Kommentarer
Denna konstruktor dekomprimerar inte. Se Aspose.Zip.Bzip2.Bzip2Archive.Open-metoden för dekomprimering.
Bzip2Archive(string, Bzip2LoadOptions)
Initierar en ny instans av Aspose.Zip.Bzip2.Bzip2Archive-klassen som är förberedd för dekomprimering.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parametrar
path
string
Sökvägen till arkivfilen.
loadOptions
Bzip2LoadOptions
Alternativen för att ladda arkivet med.
Exempel
Öppna ett arkiv från fil efter sökväg och extrahera det till en MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Kommentarer
Denna konstruktor dekomprimerar inte. Se Aspose.Zip.Bzip2.Bzip2Archive.Open-metoden för dekomprimering.
Undantag
path
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
path
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.
Åtkomst till fil path
nekas.
Den angivna path
, filnamn, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Fil vid path
innehåller ett kolon (:) i mitten av strängen.
Filens finns inte.
Den angivna sökvägen är ogiltig, till exempel att den ligger på en icke-mappad enhet.
Fil är redan öppen.
Metoder
Dispose()
Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.
public void Dispose()
Dispose(bool)
Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.
protected virtual void Dispose(bool disposing)
Parametrar
disposing
bool
Om hanterade resurser ska frigöras.
Extract(Stream)
Extraherar arkivet till den angivna strömmen.
public void Extract(Stream destination)
Parametrar
destination
Stream
Destinationström. Måste vara skrivbar.
Exempel
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Undantag
destination
stöder inte skrivning.
Extract(string)
Extraherar arkivet till filen efter sökväg.
public FileInfo Extract(string path)
Parametrar
path
string
Sökvägen till destinationfilen. Om filen redan finns, kommer den att skrivas över.
Returnerar
Info om den extraherade filen.
Undantag
path
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
path
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.
Åtkomst till fil path
nekas.
Den angivna path
, filnamn, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Fil vid path
innehåller ett kolon (:) i mitten av strängen.
Filens finns inte.
Den angivna sökvägen är ogiltig, till exempel att den ligger på en icke-mappad enhet.
Fil är redan öppen.
ExtractToDirectory(string)
Extraherar innehållet i arkivet till den angivna mappen.
public void ExtractToDirectory(string destinationDirectory)
Parametrar
destinationDirectory
string
Sökvägen till mappen där de extraherade filerna ska placeras.
Kommentarer
Om mappen inte finns, kommer den att skapas.
Undantag
destinationDirectory
är null.
Den angivna sökvägen, filnamn, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst till den befintliga mappen.
Om mappen inte finns, innehåller sökvägen ett kolon-tecken (:) som inte är en del av en enhetsbeteckning (“C:").
destinationDirectory
är en sträng med noll längd, innehåller endast vita tecken eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken genom att använda metoden System.IO.Path.GetInvalidPathChars.
-eller- sökvägen är förprefixed med, eller innehåller, endast ett kolon-tecken (:).
Den angivna sökvägen är en fil. -eller- Det nätverksnamnet är inte känt.
Open()
Öppnar arkivet för extrahering och tillhandahåller en ström med arkivinnehåll.
public Stream Open()
Returnerar
Strömmen som representerar innehållet i arkivet.
Exempel
Användning:
Stream decompressed = archive.Open();
.NET 4.0 och högre - använd Stream.CopyTo-metoden:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 och tidigare - kopiera byte manuellt:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Kommentarer
Läs från strömmen för att få det ursprungliga innehållet i filen. Se avsnittet exempel.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Sparar arkivet till den angivna strömmen.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parametrar
outputStream
Stream
Destinationström.
saveOptions
Bzip2SaveOptions
Alternativ för att spara ett bzip2-arkiv. Om det inte anges, används en blockstorlek på 900 Kb.
Exempel
Skriver komprimerad data till http-svarström.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Kommentarer
outputStream
måste vara skrivbar.
Undantag
Källan till data som ska arkiveras har inte angivits.
outputStream
är inte skrivbar.
Filkällan är skrivskyddad eller är en mapp.
Den angivna filkällans sökväg är ogiltig, till exempel att den ligger på en icke-mappad enhet.
Filkällan är redan öppen.
Save(string, Bzip2SaveOptions)
Sparar arkivet till den angivna destinationsfilen.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parametrar
destinationFileName
string
Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil, kommer den att skrivas över.
saveOptions
Bzip2SaveOptions
Alternativ för att spara ett bzip2-arkiv. Om det inte anges, används en blockstorlek på 900 Kb.
Exempel
Skriver komprimerad data till fil.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Undantag
destinationFileName
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
destinationFileName
är tom, innehåller endast vita tecken, eller innehåller ogiltiga tecken.
Åtkomst till fil destinationFileName
nekas.
Den angivna destinationFileName
, filnamn, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Fil vid destinationFileName
innehåller ett kolon (:) i mitten av strängen.
SetSource(Stream)
Sätter innehållet som ska komprimeras inom arkivet.
public void SetSource(Stream source)
Parametrar
source
Stream
Indataström för arkivet.
Exempel
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Sätter innehållet som ska komprimeras inom arkivet.
public void SetSource(FileInfo fileInfo)
Parametrar
fileInfo
FileInfo
Referens till en fil som ska komprimeras.
Exempel
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Sätter innehållet som ska komprimeras inom arkivet.
public void SetSource(string path)
Parametrar
path
string
Sökväg till filen som ska komprimeras.
Exempel
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Undantag
path
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
path
är tom, innehåller endast vita tecken, eller innehåller ogiltiga tecken.
Åtkomst till fil path
nekas.
Den angivna path
, filnamn, eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Fil vid path
innehåller ett kolon (:) i mitten av strängen.
SetSource(TarArchive, TarFormat)
Sätter innehållet som ska komprimeras inom arkivet.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parametrar
tarArchive
TarArchive
Tar-arkiv som ska komprimeras.
format
TarFormat
Definierar tar-headerformat.
Exempel
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");
}
}
Kommentarer
Använd denna metod för att komponera ett gemensamt tar.bz2-arkiv.
SetSource(CpioArchive, CpioFormat)
Sätter innehållet som ska komprimeras inom arkivet.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parametrar
cpioArchive
CpioArchive
Cpio-arkiv som ska komprimeras.
format
CpioFormat
Definierar cpio-headerformat.
Exempel
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");
}
}
Kommentarer
Använd denna metod för att komponera ett gemensamt cpio.bz2-arkiv.