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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file path’ ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path’ mengandung kolom (:) di tengah string.
File ini terlalu pendek.
Data dalam file memiliki tanda tangan yang salah.
Properties
Name
Nama file asli.
public string Name { get; }
Nilai Properti
UncompressedSize
Dapatkan ukuran file asli.
public ulong UncompressedSize { get; }
Nilai Properti
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
destination’ does not support writing.
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
Informasi file yang dikeluarkan.
Exceptions
path’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file path’ ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path’ mengandung kolom (:) di tengah string.
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
destinationDirectory’ is null.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.
Jika direktori tidak ada, jalur ini mengandung karakter kolon (:) yang bukan bagian dari label drive (“C:”).
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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
destinationFileName’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file destinationFileName’ ditolak.
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.
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
path’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file path’ ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
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.