Class GzipArchive

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

objectGzipArchive

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

ArgumentNullException

path null.

SecurityException

Çağrıcı, erişim için gerekli izne sahip değildir.

ArgumentException

path boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

path dosyasına erişim reddedildi.

PathTooLongException

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.

NotSupportedException

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

string

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

ArgumentException

destination yazmayı desteklemiyor.

InvalidDataException

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

FileInfo

Çıkarılan dosyanın bilgisi.

İstisnalar

ArgumentNullException

path null.

SecurityException

Çağrıcı, erişim için gerekli izne sahip değildir.

ArgumentException

path boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

path dosyasına erişim reddedildi.

PathTooLongException

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.

NotSupportedException

path dosyası, dize ortasında bir iki nokta üst üste (:) içeriyor.

InvalidDataException

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

ArgumentNullException

destinationDirectory null.

PathTooLongException

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.

SecurityException

Çağrıcı, mevcut dizine erişim için gerekli izne sahip değildir.

NotSupportedException

Dizin mevcut değilse, yol, bir sürücü etiketinin (“C:") parçası olmayan bir iki nokta üst üste (:) karakteri içeriyor.

ArgumentException

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.

IOException

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

Stream

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

ArgumentException

outputStream yazılabilir değil.

InvalidOperationException

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

ArgumentNullException

destinationFileName null.

SecurityException

Çağrıcı, erişim için gerekli izne sahip değildir.

ArgumentException

destinationFileName boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

destinationFileName dosyasına erişim reddedildi.

PathTooLongException

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.

NotSupportedException

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

ArgumentNullException

path null.

SecurityException

Çağrıcı, erişim için gerekli izne sahip değildir.

ArgumentException

path boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

path dosyasına erişim reddedildi.

PathTooLongException

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.

NotSupportedException

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.

 Türkçe