Class GzipArchive
Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)
Bu sınıf gzip arşiv dosyasını temsil eder. Gzip arşivleri oluşturmak veya çıkarmak için kullanın.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Miras
Uygulamalar
IArchive, IDisposable, IArchiveFileEntry
Miras Alınan Üyeler
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Açıklamalar
Gzip sıkıştırma algoritması, LZ77 ve Huffman kodlamasının bir kombinasyonu olan DEFLATE algoritmasına dayanmaktadır.
Yapıcılar
GzipArchive()
Sıkıştırma için hazırlanmış yeni bir Aspose.Zip.Gzip.GzipArchive örneği başlatır.
public GzipArchive()
Örnekler
Aşağıdaki örnek bir dosyayı sıkıştırmanın nasıl yapılacağını göstermektedir.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Stream, bool)
Açma için hazırlanmış yeni bir Aspose.Zip.Gzip.GzipArchive örneği başlatır.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parametreler
sourceStream
Stream
Arşivin kaynağı.
parseHeader
bool
Akış başlığının özellikleri, adı da dahil olmak üzere anlaşılması için ayrıştırılıp ayrıştırılmayacağı. Sadece arama yapılabilir akışlar için anlamlıdır.
Örnekler
Bir akıştan arşiv açın ve bir MemoryStream
içine çıkarın.
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Açıklamalar
Bu yapıcı sıkıştırma işlemi yapmaz. Sıkıştırma için Aspose.Zip.Gzip.GzipArchive.Open yöntemine bakın.
GzipArchive(string, bool)
Aspose.Zip.Gzip.GzipArchive sınıfının yeni bir örneğini başlatır.
public GzipArchive(string path, bool parseHeader = false)
Parametreler
path
string
Arşiv dosyasının yolu.
parseHeader
bool
Akış başlığının özellikleri, adı da dahil olmak üzere anlaşılması için ayrıştırılıp ayrıştırılmayacağı. Sadece arama yapılabilir akışlar için anlamlıdır.
Örnekler
Yol ile bir dosyadan arşiv açın ve bir MemoryStream
içine çıkarın.
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Açıklamalar
Bu yapıcı sıkıştırma işlemi yapmaz. Sıkıştırma için Aspose.Zip.Gzip.GzipArchive.Open yöntemine bakın.
İstisnalar
path
null.
Çağrıcı, erişim için gerekli izne sahip değildir.
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 tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.
path
dosyası, dize ortasında bir iki nokta üst üste (:) içeriyor.
Özellikler
Name
Orijinal dosyanın adı.
public string Name { get; }
Özellik Değeri
Yöntemler
Dispose()
Yönetilmeyen kaynakların serbest bırakılması, tahsis edilmesi veya sıfırlanması ile ilgili uygulama tanımlı görevleri yerine getirir.
public void Dispose()
Dispose(bool)
Yönetilmeyen kaynakların serbest bırakılması, tahsis edilmesi veya sıfırlanması 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 (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
İstisnalar
destination
yazmayı desteklemiyor.
Akış bozulmuş ve geçerli veri içermiyor.
Extract(string)
Arşivi yol ile dosyaya çıkarır.
public FileInfo Extract(string path)
Parametreler
path
string
Hedef dosyanın yolu. Eğer dosya zaten mevcutsa, üzerine yazılacaktır.
Dönüşler
Çıkarılan dosyanın bilgisi.
İstisnalar
path
null.
Çağrıcı, erişim için gerekli izne sahip değildir.
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 tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.
path
dosyası, dize ortasında bir iki nokta üst üste (:) içeriyor.
Akış bozulmuş ve geçerli veri içermiyor.
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 mevcut değilse, oluşturulacaktır.
İstisnalar
destinationDirectory
null.
Belirtilen yol, dosya adı veya her ikisi, sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.
Çağrıcı, mevcut dizine erişim için gerekli izne sahip değildir.
Dizin mevcut değilse, 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 karakterleri sorgulamak için System.IO.Path.GetInvalidPathChars yöntemini kullanabilirsiniz.
-veya- yol, yalnızca bir iki nokta üst üste karakteri (:) ile başlıyor veya 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önüşler
Arşivin içeriğini temsil eden akış.
Örnekler
Arşivi çıkarır ve çıkarılan içeriği dosya akışına kopyalar.
using (var archive = new GzipArchive("archive.gz"))
{
using (var extracted = File.Create("data.bin"))
{
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
.NET 4.0 ve üzeri için Stream.CopyTo yöntemini kullanabilirsiniz: `unpacked.CopyTo(extracted);`
Açıklamalar
Orijinal dosyanın içeriğini almak için akıştan okuyun. Örnekler bölümüne bakın.
Save(Stream)
Arşivi sağlanan akışa kaydeder.
public void Save(Stream outputStream)
Parametreler
outputStream
Stream
Hedef akış.
Örnekler
HTTP yanıt akışına sıkıştırılmış verileri yazar.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Açıklamalar
outputStream
yazılabilir olmalıdır.
İstisnalar
outputStream
yazılabilir değil.
Kaynak sağlanmamıştır.
Save(string)
Arşivi belirtilen hedef dosyaya kaydeder.
public void Save(string destinationFileName)
Parametreler
destinationFileName
string
Oluşturulacak arşivin yolu. Belirtilen dosya adı mevcut bir dosyaya işaret ediyorsa, üzerine yazılacaktır.
Örnekler
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
İstisnalar
destinationFileName
null.
Çağrıcı, erişim için gerekli izne sahip değildir.
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 tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.
destinationFileName
dosyası, dize 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 (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
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 dosyaya referans.
Örnekler
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
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
Bir akıştan arşiv açın ve bir MemoryStream
içine çıkarın.
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
İstisnalar
path
null.
Çağrıcı, erişim için gerekli izne sahip değildir.
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 tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.
path
dosyası, dize ortasında bir iki nokta üst üste (:) içeriyor.
SetSource(TarArchive)
Arşiv içinde sıkıştırılacak içeriği ayarlar.
public void SetSource(TarArchive tarArchive)
Parametreler
tarArchive
TarArchive
Sıkıştırılacak Tar arşivi.
Örnekler
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var gzippedArchive = new GzipArchive())
{
gzippedArchive.SetSource(tarArchive);
gzippedArchive.Save("archive.tar.gz");
}
}
Açıklamalar
Bu yöntemi birleşik tar.gz arşivi oluşturmak için kullanın.