Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Bu sınıf bzip2 arşiv dosyasını temsil eder. Bzip2 arşivlerini oluşturmak veya çıkarmak için kullanın.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Kalıtım
Uygulamalar
IArchive, IDisposable, IArchiveFileEntry
Kalıtılan Üyeler
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Açıklamalar
bzip2, Burrows-Wheeler blok sıralama metin sıkıştırma algoritmasını ve Huffman kodlamasını kullanarak dosyaları sıkıştırır. Daha fazla bilgi için: https://en.wikipedia.org/wiki/Bzip2
Yapıcılar
Bzip2Archive()
Sıkıştırma için hazırlanmış yeni bir Aspose.Zip.Bzip2.Bzip2Archive örneği başlatır.
public Bzip2Archive()
Örnekler
Aşağıdaki örnek bir dosyanın nasıl sıkıştırılacağını göstermektedir.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Açma için hazırlanmış yeni bir Aspose.Zip.Bzip2.Bzip2Archive örneği başlatır.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parametreler
sourceStream
Stream
Arşivin kaynağı.
loadOptions
Bzip2LoadOptions
Arşivi yüklemek için seçenekler.
Örnekler
Bir akıştan arşiv açın ve bir MemoryStream
içine çıkarın.
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Açıklamalar
Bu yapıcı sıkıştırma işlemi yapmaz. Sıkıştırma için Aspose.Zip.Bzip2.Bzip2Archive.Open yöntemine bakın.
Bzip2Archive(string, Bzip2LoadOptions)
Açma için hazırlanmış yeni bir Aspose.Zip.Bzip2.Bzip2Archive örneği başlatır.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parametreler
path
string
Arşiv dosyasının yolu.
loadOptions
Bzip2LoadOptions
Arşivi yüklemek için seçenekler.
Örnekler
Yoldan bir dosyadan arşiv açın ve bir MemoryStream
içine çıkarın.
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Açıklamalar
Bu yapıcı sıkıştırma işlemi yapmaz. Sıkıştırma için Aspose.Zip.Bzip2.Bzip2Archive.Open yöntemine bakın.
İstisnalar
path
null.
Arayanın erişim için gerekli izni yok.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
Belirtilen path
, dosya adı veya her ikisi sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden daha kısa olmalıdır ve dosya adları 260 karakterden daha kısa olmalıdır.
path
dizesinin ortasında bir iki nokta üst üste (:) içeriyor.
Dosya bulunamadı.
Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
Dosya zaten açık.
Yöntemler
Dispose()
Yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilgili uygulama tanımlı görevleri yerine getirir.
public void Dispose()
Dispose(bool)
Yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilgili uygulama tanımlı görevleri yerine getirir.
protected virtual void Dispose(bool disposing)
Parametreler
disposing
bool
Yönetilen kaynakların serbest bırakılıp bırakılmayacağı.
Extract(Stream)
Arşivi sağlanan akışa çıkarır.
public void Extract(Stream destination)
Parametreler
destination
Stream
Hedef akış. Yazılabilir olmalıdır.
Örnekler
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
İstisnalar
destination
yazma desteği yok.
Extract(string)
Arşivi yoldaki dosyaya çıkarır.
public FileInfo Extract(string path)
Parametreler
path
string
Hedef dosyaya giden yol. Eğer dosya zaten varsa, üzerine yazılacaktır.
Döndürür
Çıkarılan dosyanın bilgileri.
İstisnalar
path
null.
Arayanın erişim için gerekli izni yok.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
Belirtilen path
, dosya adı veya her ikisi sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden daha kısa olmalıdır ve dosya adları 260 karakterden daha kısa olmalıdır.
path
dizesinin ortasında bir iki nokta üst üste (:) içeriyor.
Dosya bulunamadı.
Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
Dosya zaten açık.
ExtractToDirectory(string)
Arşivin içeriğini sağlanan dizine çıkarır.
public void ExtractToDirectory(string destinationDirectory)
Parametreler
destinationDirectory
string
Çıkarılan dosyaların yerleştirileceği dizinin yolu.
Açıklamalar
Eğer dizin yoksa, oluşturulacaktır.
İstisnalar
destinationDirectory
null.
Belirtilen yol, dosya adı veya her ikisi sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden daha kısa olmalıdır ve dosya adları 260 karakterden daha kısa olmalıdır.
Arayanın mevcut dizine erişim için gerekli izni yok.
Eğer dizin yoksa, yol bir sürücü etiketinin (“C:") parçası olmayan bir iki nokta üst üste (:) karakteri içeriyor.
destinationDirectory
sıfır uzunluğunda bir dize, yalnızca boşluk içeriyor veya bir veya daha fazla geçersiz karakter içeriyor. Geçersiz karakterler için System.IO.Path.GetInvalidPathChars yöntemini kullanarak sorgulama yapabilirsiniz.
-veya- yol yalnızca bir iki nokta üst üste (:) karakteri ile ön eklenmiş veya yalnızca onu içeriyor.
Belirtilen yol bir dosyadır. -veya- Ağ adı bilinmiyor.
Open()
Arşivi çıkarma için açar ve arşiv içeriği ile bir akış sağlar.
public Stream Open()
Döndürür
Arşivin içeriğini temsil eden akış.
Örnekler
Kullanım:
Stream decompressed = archive.Open();
.NET 4.0 ve üzeri - Stream.CopyTo metodunu kullanın:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 ve öncesi - baytları manuel olarak kopyalayın:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Açıklamalar
Orijinal dosyanın içeriğini almak için akıştan okuyun. Örnekler bölümüne bakın.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Arşivi sağlanan akışa kaydeder.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parametreler
outputStream
Stream
Hedef akış.
saveOptions
Bzip2SaveOptions
Bir bzip2 arşivini kaydetme seçenekleri. Belirtilmezse, 900 Kb blok boyutu kullanılacaktır.
Örnekler
Sıkıştırılmış verileri http yanıt akışına yazar.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Açıklamalar
outputStream
yazılabilir olmalıdır.
İstisnalar
Arşivlenecek veri kaynağı sağlanmamıştır.
outputStream
yazılabilir değil.
Dosya kaynağı yalnızca okunabilir veya bir dizindir.
Belirtilen dosya kaynağı yolu geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
Dosya kaynağı zaten açık.
Save(string, Bzip2SaveOptions)
Arşivi sağlanan hedef dosyaya kaydeder.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parametreler
destinationFileName
string
Oluşturulacak arşivin yolu. Eğer belirtilen dosya adı mevcut bir dosyaya işaret ediyorsa, üzerine yazılacaktır.
saveOptions
Bzip2SaveOptions
Bir bzip2 arşivini kaydetme seçenekleri. Belirtilmezse, 900 Kb blok boyutu kullanılacaktır.
Örnekler
Sıkıştırılmış verileri dosyaya yazar.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
İstisnalar
destinationFileName
null.
Arayanın erişim için gerekli izni yok.
destinationFileName
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
destinationFileName
dosyasına erişim reddedildi.
Belirtilen destinationFileName
, dosya adı veya her ikisi sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden daha kısa olmalıdır ve dosya adları 260 karakterden daha kısa olmalıdır.
destinationFileName
dizesinin ortasında bir iki nokta üst üste (:) içeriyor.
SetSource(Stream)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(Stream source)
Parametreler
source
Stream
Arşiv için giriş akışı.
Örnekler
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(FileInfo fileInfo)
Parametreler
fileInfo
FileInfo
Sıkıştırılacak bir dosyaya referans.
Örnekler
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(string path)
Parametreler
path
string
Sıkıştırılacak dosyanın yolu.
Örnekler
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
İstisnalar
path
null.
Arayanın erişim için gerekli izni yok.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
Belirtilen path
, dosya adı veya her ikisi sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden daha kısa olmalıdır ve dosya adları 260 karakterden daha kısa olmalıdır.
path
dizesinin ortasında bir iki nokta üst üste (:) içeriyor.
SetSource(TarArchive, TarFormat)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parametreler
tarArchive
TarArchive
Sıkıştırılacak tar arşivi.
format
TarFormat
Tar başlık formatını tanımlar.
Örnekler
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");
}
}
Açıklamalar
Bu yöntemi birleştirilmiş tar.bz2 arşivi oluşturmak için kullanın.
SetSource(CpioArchive, CpioFormat)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parametreler
cpioArchive
CpioArchive
Sıkıştırılacak cpio arşivi.
format
CpioFormat
Cpio başlık formatını tanımlar.
Örnekler
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");
}
}
Açıklamalar
Bu yöntemi birleştirilmiş cpio.bz2 arşivi oluşturmak için kullanın.