Class GzipArchive

Class GzipArchive

Nama dari : Aspose.Zip.Gzip Perhitungan: Aspose.Zip.dll (25.5.0)

Kelas ini mewakili file arkib gzip. gunakan untuk menyusun atau mengekstrak arkib gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

anggota yang diwarisi

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Remarks

Algoritma kompresi Gzip didasarkan pada algoritma DEFLATE, yang merupakan kombinasi kode LZ77 dan Huffman.

Constructors

GzipArchive()

Inicialisasi contoh baru dari Aspose.Zip.Gzip.GzipArchive kelas yang siap untuk kompresi.

public GzipArchive()

Examples

Contoh berikut menunjukkan cara mengkompresi file.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Kekuatan, Bool)

Inicialisasi contoh baru dari Aspose.Zip.Gzip.GzipArchive kelas yang siap untuk dekompresi.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

sumber dari arkib tersebut.

parseHeader bool

Apakah untuk parse stream header untuk mengetahui sifat, termasuk nama. membuat rasa untuk stream yang dapat dicari hanya.

Examples

Buka file dari aliran dan ekstrak ke

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Remarks

Konstruktor ini tidak dekompresi. lihat Aspose.Zip.Gzip.GzipArchive.Metode terbuka untuk dekompresi.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’ memiliki tanda tangan yang salah.

GzipArchive(Kekuatan, Bool)

Initifikasi instans baru dari kelas Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Jalan menuju file arkib.

parseHeader bool

Apakah untuk parse stream header untuk mengetahui sifat, termasuk nama. membuat rasa untuk stream yang dapat dicari hanya.

Examples

Buka file dari file per jalur dan mengekstrak ke

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Remarks

Konstruktor ini tidak dekompresi. lihat Aspose.Zip.Gzip.GzipArchive.Metode terbuka untuk dekompresi.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file path’ ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path’ mengandung kolom (:) di tengah string.

EndOfStreamException

File ini terlalu pendek.

InvalidDataException

Data dalam file memiliki tanda tangan yang salah.

Properties

Name

Nama file asli.

public string Name { get; }

Nilai Properti

string

UncompressedSize

Dapatkan ukuran file asli.

public ulong UncompressedSize { get; }

Nilai Properti

ulong

Remarks

Jika ukuran file yang tidak dikompresi melebihi 4GB, sifat ini akan memberikan nilai yang salah karena batas 32-bit dalam header.

Methods

Dispose()

Melaksanakan tugas-tugas yang ditentukan oleh aplikasi yang terkait dengan pembebasan, pembebasan, atau reset sumber daya yang tidak dikelola.

public void Dispose()

Dispose(Bool)

Melaksanakan tugas-tugas yang ditentukan oleh aplikasi yang terkait dengan pembebasan, pembebasan, atau reset sumber daya yang tidak dikelola.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Apakah sumber daya yang dikelola harus dihapus.

Extract(Stream)

Mengekstrak arkib ke arus yang disediakan.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. harus dapat ditulis.

Examples

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream korup dan tidak mengandung data yang valid.

Extract(String)

Mengekstrak file ke file dengan jalur.

public FileInfo Extract(string path)

Parameters

path string

Jika file sudah ada, akan dituliskannya.

Returns

FileInfo

Informasi file yang dikeluarkan.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file path’ ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path’ mengandung kolom (:) di tengah string.

InvalidDataException

Stream korup dan tidak mengandung data yang valid.

ExtractToDirectory(String)

Mengekstrak konten dari arkib ke direktori yang disediakan.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Jalan menuju direktori untuk menempatkan file yang dikeluarkan.

Remarks

Jika direktori tidak ada, itu akan dibuat.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.

NotSupportedException

Jika direktori tidak ada, jalur ini mengandung karakter kolon (:) yang bukan bagian dari label drive (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).

IOException

Direktori yang ditentukan oleh jalur adalah file. -or- Nama jaringan tidak diketahui.

Open()

Buka arkib untuk ekstraksi dan memberikan arus dengan konten arkib.

public Stream Open()

Returns

Stream

aliran yang mewakili konten dari arkib.

Examples

Mengekstrak arsip dan menyalin konten yang dikeluarkan ke file stream.

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);
    }            
}

Anda dapat menggunakan metode Stream.CopyTo untuk .NET 4.0 dan lebih tinggi: unpacked.KopiTo(ekstrak);

Remarks

Baca dari aliran untuk mendapatkan konten asli dari file. lihat contoh bagian.

Save(Stream)

Simpan file ke arus yang disediakan.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Destinasi dari Stream.

Examples

Menulis data yang dikompresi ke HTTP respons stream.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Remarks

harus dapat ditulis.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Sumber tersebut tidak dibekali.

Save(String)

Simpan file ke file tujuan yang disediakan.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Jika nama file yang ditentukan menunjuk ke file yang ada, itu akan ditulis kembali.

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

destinationFileName’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file destinationFileName’ ditolak.

PathTooLongException

Destinasi destinationFileName’, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. misalnya, pada platform Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di destinationFileName’ mengandung kolom (:) di tengah string.

SetSource(Stream)

Menetapkan konten untuk dikompresi di dalam arkib.

public void SetSource(Stream source)

Parameters

source Stream

Aliran input untuk arkib.

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Menetapkan konten untuk dikompresi di dalam arkib.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Referensi ke file yang harus dikompresi.

Examples

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(String)

Menetapkan konten untuk dikompresi di dalam arkib.

public void SetSource(string path)

Parameters

path string

Cara membuat file untuk dikompresi.

Examples

Buka file dari file per jalur dan mengekstrak ke

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file path’ ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path’ mengandung kolom (:) di tengah string.

SetSource(TarArchive)

Menetapkan konten untuk dikompresi di dalam arkib.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Arsip untuk dikompresi.

Examples

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");
    }
}

Remarks

Gunakan metode ini untuk menyusun arsip tar.gz bersama.

 Indonesia