Class GzipArchive
ชื่อพื้นที่: Aspose.Zip.Gzip การประกอบ: Aspose.Zip.dll (25.5.0)
ประเภทนี้เป็นไฟล์ archive gzip ใช้ไฟล์นี้ในการประกอบหรือสกัดไฟล์ archive gzip
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
อนุญาโตตุลาการ
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
algorithm การบีบอัด Gzip ขึ้นอยู่กับ algorithm DEFLATE ซึ่งเป็นการผสมผสานของ LZ77 และ Huffman การเข้ารหัส
Constructors
GzipArchive()
เริ่มต้นตัวอย่างใหม่ของ Aspose.Zip.Gzip.GzipArchive class พร้อมสําหรับการบีบอัด
public GzipArchive()
Examples
ตัวอย่างต่อไปนี้แสดงให้เห็นวิธีการบีบอัดไฟล์
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(กระแส บอล)
เริ่มต้นตัวอย่างใหม่ของ Aspose.Zip.Gzip.GzipArchive class ที่เตรียมพร้อมสําหรับการบีบอัด
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
แหล่งกําเนิดของไฟล์
parseHeader
bool
ไม่ว่าคุณจะแบ่งปันหัวกระแสเพื่อค้นพบคุณสมบัติรวมถึงชื่อ ทําให้ความรู้สึกสําหรับกระแสที่มองหาเท่านั้น
Examples
เปิดไฟล์จาก Stream และสกัดไปยัง A
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
ผู้ก่อสร้างนี้ไม่ decompress. ดู Aspose.Zip.Gzip.GzipArchive.Open method สําหรับ decompressing.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
sourceStream" มีการลงนามที่ผิดพลาด
GzipArchive(บอล, บอล)
เปิดตัวตัวอย่างใหม่ของ Class Aspose.Zip.Gzip.GzipArchive
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
เส้นทางไปยังไฟล์ไฟล์
parseHeader
bool
ไม่ว่าคุณจะแบ่งปันหัวกระแสเพื่อค้นพบคุณสมบัติรวมถึงชื่อ ทําให้ความรู้สึกสําหรับกระแสที่มองหาเท่านั้น
Examples
เปิดไฟล์จากไฟล์ตามเส้นทางและสกัดไปยังไฟล์
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
ผู้ก่อสร้างนี้ไม่ decompress. ดู Aspose.Zip.Gzip.GzipArchive.Open method สําหรับ decompressing.
Exceptions
path’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path" ถูกปฏิเสธ
ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น
ไฟล์นั้นสั้นเกินไป
ข้อมูลในไฟล์มีการลงนามที่ผิด
Properties
Name
ชื่อไฟล์เดิม
public string Name { get; }
คุณสมบัติมูลค่า
UncompressedSize
ได้รับขนาดของไฟล์เดิม
public ulong UncompressedSize { get; }
คุณสมบัติมูลค่า
Remarks
ในระหว่างการบีบอัดคุณสมบัตินี้อาจมีขนาดที่ผิด หากขนาดไฟล์ที่ไม่ได้บีบอัดเกิน 4GB คุณสมบัตินี้จะให้ค่าที่ผิดเนื่องจากการ จํากัด 32 บิตในหัว
Methods
Dispose()
ทําหน้าที่ที่กําหนดโดยการใช้งานที่เกี่ยวข้องกับการปล่อยทรัพยากรที่ไม่ได้รับการจัดการหรือรีไซเคิล
public void Dispose()
Dispose(บอล)
ทําหน้าที่ที่กําหนดโดยการใช้งานที่เกี่ยวข้องกับการปล่อยทรัพยากรที่ไม่ได้รับการจัดการหรือรีไซเคิล
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
ไม่ว่าทรัพยากรที่จัดการควรจะถูกกําจัด
Extract(Stream)
extract the archive to the stream ที่ให้
public void Extract(Stream destination)
Parameters
destination
Stream
จุดหมายปลายทาง Stream. ต้องการเขียนได้
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
Stream มีการกัดกร่อนและไม่มีข้อมูลที่ถูกต้อง
Extract(รั้ว)
extract the archive to the file by path
public FileInfo Extract(string path)
Parameters
path
string
เส้นทางไปยังไฟล์เป้าหมาย หากไฟล์มีอยู่แล้วมันจะถูกเขียนเกินไป
Returns
ข้อมูลของไฟล์ที่สกัด
Exceptions
path’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path" ถูกปฏิเสธ
ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น
Stream มีการกัดกร่อนและไม่มีข้อมูลที่ถูกต้อง
ExtractToDirectory(รั้ว)
สารสกัดเนื้อหาของเอกสารไปยังไดเรกทอรีที่ให้
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีเพื่อวางไฟล์ที่สกัด
Remarks
หากไดเรกทอรีไม่ได้มีมันจะถูกสร้างขึ้น
Exceptions
destinationDirectory’ is null.
เส้นทางที่ระบุชื่อไฟล์หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ผู้โทรไม่ได้รับอนุญาตที่จําเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่
หากไดเรกทอรีไม่ได้มีเส้นทางมีตัวอักษรของ colon (:) ซึ่งไม่ได้เป็นส่วนหนึ่งของแท็กไดรฟ์ (“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 (:).
แผนที่ที่ระบุโดยเส้นทางเป็นไฟล์ -หรือ- ชื่อเครือข่ายไม่ทราบ
Open()
เปิดเอกสารสําหรับการสกัดและให้การไหลที่มีเนื้อหาเอกสาร
public Stream Open()
Returns
กระแสที่นําเสนอเนื้อหาของเอกสาร
Examples
extract the archive and copies the extracted content to 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);
}
}
คุณสามารถใช้วิธีการ Stream.CopyTo สําหรับ .NET 4.0 และสูงกว่า: unpacked.Kopy To(สกัด)
Remarks
Read from the stream to get the original content of a file ดูส่วนตัวอย่าง
Save(Stream)
เก็บไฟล์ไปยังกระแสที่ให้
public void Save(Stream outputStream)
Parameters
outputStream
Stream
การไหลของเป้าหมาย
Examples
เขียนข้อมูลที่บีบอัดไปยังการตอบสนองของ HTTP
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
จําเป็นต้องเขียนได้
Exceptions
outputStream’ is not writable.
แหล่งที่มาไม่ได้จัดหา
Save(รั้ว)
บันทึกไฟล์ไปยังไฟล์ปลายทางที่ให้
public void Save(string destinationFileName)
Parameters
destinationFileName
string
วิธีของไฟล์ที่จะสร้าง หากชื่อไฟล์ที่ระบุหมายถึงไฟล์ที่มีอยู่มันจะถูกเขียนเกินไป
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
destinationFileName’ เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ destinationFileName’ ถูกปฏิเสธ
คําอธิบาย destinationFileName’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ที่ destinationFileName’ มีคอลัมน์ (:) ในส่วนกลางของเส้น
SetSource(Stream)
ใส่เนื้อหาที่จะถูกบีบอัดภายในเอกสาร
public void SetSource(Stream source)
Parameters
source
Stream
กระแสการเข้าสู่ระบบสําหรับเอกสาร
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
ใส่เนื้อหาที่จะถูกบีบอัดภายในเอกสาร
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
การอ้างอิงถึงไฟล์ที่จะถูกบีบอัด
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(รั้ว)
ใส่เนื้อหาที่จะถูกบีบอัดภายในเอกสาร
public void SetSource(string path)
Parameters
path
string
วิธีที่จะไฟล์จะถูกบีบอัด
Examples
เปิดไฟล์จากไฟล์ตามเส้นทางและสกัดไปยังไฟล์
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path" ถูกปฏิเสธ
ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น
SetSource(TarArchive)
ใส่เนื้อหาที่จะถูกบีบอัดภายในเอกสาร
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
ไฟล์ Tar จะถูกบีบอัด
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
ใช้วิธีการนี้เพื่อสร้างไฟล์ tar.gz รวม