Class GzipArchive

Class GzipArchive

Tên không gian: Aspose.Zip.Gzip Tổng hợp: Aspose.Zip.dll (25.5.0)

Lớp này đại diện cho một tệp lưu trữ gzip. Sử dụng nó để tạo hoặc rút các tệp gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Thành viên thừa kế

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

Remarks

Các thuật toán nén Gzip dựa trên thuật toán DEFLATE, đó là sự kết hợp của mã hóa LZ77 và Huffman.

Constructors

GzipArchive()

Bắt đầu một trường hợp mới của lớp Aspose.Zip.Gzip.GzipArchive chuẩn bị cho việc nén.

public GzipArchive()

Examples

Ví dụ sau đây cho thấy làm thế nào để nén một tệp.

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

GzipArchive(Lời bài hát: Bool)

Bắt đầu một trường hợp mới của lớp Aspose.Zip.Gzip.GzipArchive chuẩn bị để giảm bớt.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Nguồn gốc của Archive.

parseHeader bool

Cho dù để phân phối dòng tiêu đề để tìm ra các thuộc tính, bao gồm cả tên. làm cho ý nghĩa cho dòng chỉ có thể tìm kiếm.

Examples

Mở một tập tin từ một dòng và rút nó vào một

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

Remarks

Constructor này không bị trộn. Xem Aspose.Zip.Gzip.GzipArchive.Open phương pháp để trộn.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’ có chữ ký sai.

GzipArchive(Lời bài hát: Bool)

Bắt đầu một trường hợp mới của lớp Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Cách di chuyển đến file file.

parseHeader bool

Cho dù để phân phối dòng tiêu đề để tìm ra các thuộc tính, bao gồm cả tên. làm cho ý nghĩa cho dòng chỉ có thể tìm kiếm.

Examples

Mở một tập tin từ tệp theo con đường và rút nó vào một

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

Remarks

Constructor này không bị trộn. Xem Aspose.Zip.Gzip.GzipArchive.Open phương pháp để trộn.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Đường path’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

Truy cập vào tệp path" bị từ chối.

PathTooLongException

Lối đi path", tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, các con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp ở path’ chứa một cột (:) ở giữa dòng.

EndOfStreamException

file quá ngắn.

InvalidDataException

Dữ liệu trong file có chữ ký sai.

Properties

Name

Tên của một tập tin ban đầu.

public string Name { get; }

Giá trị bất động sản

string

UncompressedSize

Nhận kích thước của một tập tin ban đầu.

public ulong UncompressedSize { get; }

Giá trị bất động sản

ulong

Remarks

Trong quá trình nén, tài sản này có thể chứa kích thước không chính xác.Nếu kích thước tệp không nén vượt quá 4GB, tài sản này sẽ cho một giá trị không chính xác do giới hạn 32 bit trong đầu.

Methods

Dispose()

Thực hiện các nhiệm vụ được xác định theo ứng dụng liên quan đến việc giải phóng, giải phóng hoặc tái quản lý các tài nguyên không được quản lý.

public void Dispose()

Dispose(Bool)

Thực hiện các nhiệm vụ được xác định theo ứng dụng liên quan đến việc giải phóng, giải phóng hoặc tái quản lý các tài nguyên không được quản lý.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Liệu các tài nguyên được quản lý có nên được khai thác hay không.

Extract(Stream)

Tải lưu trữ vào dòng được cung cấp.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. phải được viết.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream bị hư hỏng và không chứa dữ liệu hợp lệ.

Extract(String)

Tiết xuất tài liệu vào tệp theo con đường.

public FileInfo Extract(string path)

Parameters

path string

Đường đến tập tin đích. nếu tập tin đã tồn tại, nó sẽ được viết quá.

Returns

FileInfo

Thông tin về file extracted.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Đường path’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

Truy cập vào tệp path" bị từ chối.

PathTooLongException

Lối đi path", tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, các con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp ở path’ chứa một cột (:) ở giữa dòng.

InvalidDataException

Stream bị hư hỏng và không chứa dữ liệu hợp lệ.

ExtractToDirectory(String)

Thu thập nội dung của lưu trữ vào thư mục được cung cấp.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Con đường đến thư mục để đặt các tập tin được lấy vào.

Remarks

Nếu thư mục không tồn tại, nó sẽ được tạo ra.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Các con đường cụ thể, tên tệp hoặc cả hai đều vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, con đường phải nhỏ hơn 248 ký tự và tên tệp phải nhỏ hơn 260 ký tự.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập thư mục hiện có.

NotSupportedException

Nếu thư mục không tồn tại, con đường chứa một ký tự cột (:) không phải là một phần của một nhãn ổ đĩa (“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

Danh mục được chỉ định theo con đường là một tệp. -or- Tên mạng không được biết.

Open()

Mở lưu trữ để khai thác và cung cấp một dòng với nội dung lưu trữ.

public Stream Open()

Returns

Stream

dòng mà đại diện cho nội dung của lưu trữ.

Examples

Loại bỏ các tập tin và sao chép nội dung được lấy vào 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);
    }            
}

Bạn có thể sử dụng phương pháp Stream.CopyTo cho .NET 4.0 và cao hơn: ‘unpacked.Kopy To(từ);’

Remarks

Đọc từ dòng để có được nội dung ban đầu của một tệp. Xem phần ví dụ.

Save(Stream)

Tiết kiệm lưu trữ cho dòng cung cấp.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Destination dòng

Examples

Viết dữ liệu nén vào dòng phản ứng http.

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

Remarks

phải có thể viết.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Nguồn không được cung cấp.

Save(String)

Tiết kiệm lưu trữ đến tệp đích được cung cấp.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Nếu tên tệp được chỉ định cho một tệp hiện có, nó sẽ được viết quá.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

destinationFileName’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

Truy cập vào tệp destinationFileName’ bị từ chối.

PathTooLongException

Mục đích destinationFileName’, tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

File tại destinationFileName’ chứa một cột (:) ở giữa dòng.

SetSource(Stream)

Đặt nội dung để được nén trong hồ sơ.

public void SetSource(Stream source)

Parameters

source Stream

dòng nhập vào lưu trữ.

Examples

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

SetSource(FileInfo)

Đặt nội dung để được nén trong hồ sơ.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Các tham chiếu đến một tệp để được nén.

Examples

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

SetSource(String)

Đặt nội dung để được nén trong hồ sơ.

public void SetSource(string path)

Parameters

path string

Cách để file để được nén.

Examples

Mở một tập tin từ tệp theo con đường và rút nó vào một

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Đường path’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

Truy cập vào tệp path" bị từ chối.

PathTooLongException

Lối đi path", tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, các con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp ở path’ chứa một cột (:) ở giữa dòng.

SetSource(TarArchive)

Đặt nội dung để được nén trong hồ sơ.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Tài liệu Tar để được nén.

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

Sử dụng phương pháp này để tạo một tập tin tar.gz.

 Tiếng Việt