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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
Đườ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.
Truy cập vào tệp path" bị từ chối.
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ự.
Tệp ở path’ chứa một cột (:) ở giữa dòng.
file quá ngắn.
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
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
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
destination’ does not support writing.
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
Thông tin về file extracted.
Exceptions
path’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
Đườ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.
Truy cập vào tệp path" bị từ chối.
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ự.
Tệp ở path’ chứa một cột (:) ở giữa dòng.
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
destinationDirectory’ is null.
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ự.
Người gọi không có giấy phép cần thiết để truy cập thư mục hiện có.
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:”).
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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
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.
Truy cập vào tệp destinationFileName’ bị từ chối.
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ự.
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
path’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
Đườ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.
Truy cập vào tệp path" bị từ chối.
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ự.
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.