Class GzipArchive

Class GzipArchive

ชื่อพื้นที่: Aspose.Zip.Gzip การประกอบ: Aspose.Zip.dll (25.5.0)

ประเภทนี้เป็นไฟล์ archive gzip ใช้ไฟล์นี้ในการประกอบหรือสกัดไฟล์ archive gzip

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

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

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

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

ArgumentNullException

path’ is null.

SecurityException

ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง

ArgumentException

path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง

UnauthorizedAccessException

การเข้าถึงไฟล์ path" ถูกปฏิเสธ

PathTooLongException

ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข

NotSupportedException

ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น

EndOfStreamException

ไฟล์นั้นสั้นเกินไป

InvalidDataException

ข้อมูลในไฟล์มีการลงนามที่ผิด

Properties

Name

ชื่อไฟล์เดิม

public string Name { get; }

คุณสมบัติมูลค่า

string

UncompressedSize

ได้รับขนาดของไฟล์เดิม

public ulong UncompressedSize { get; }

คุณสมบัติมูลค่า

ulong

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

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream มีการกัดกร่อนและไม่มีข้อมูลที่ถูกต้อง

Extract(รั้ว)

extract the archive to the file by path

public FileInfo Extract(string path)

Parameters

path string

เส้นทางไปยังไฟล์เป้าหมาย หากไฟล์มีอยู่แล้วมันจะถูกเขียนเกินไป

Returns

FileInfo

ข้อมูลของไฟล์ที่สกัด

Exceptions

ArgumentNullException

path’ is null.

SecurityException

ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง

ArgumentException

path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง

UnauthorizedAccessException

การเข้าถึงไฟล์ path" ถูกปฏิเสธ

PathTooLongException

ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข

NotSupportedException

ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น

InvalidDataException

Stream มีการกัดกร่อนและไม่มีข้อมูลที่ถูกต้อง

ExtractToDirectory(รั้ว)

สารสกัดเนื้อหาของเอกสารไปยังไดเรกทอรีที่ให้

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

เส้นทางไปยังไดเรกทอรีเพื่อวางไฟล์ที่สกัด

Remarks

หากไดเรกทอรีไม่ได้มีมันจะถูกสร้างขึ้น

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

เส้นทางที่ระบุชื่อไฟล์หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข

SecurityException

ผู้โทรไม่ได้รับอนุญาตที่จําเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่

NotSupportedException

หากไดเรกทอรีไม่ได้มีเส้นทางมีตัวอักษรของ colon (:) ซึ่งไม่ได้เป็นส่วนหนึ่งของแท็กไดรฟ์ (“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

แผนที่ที่ระบุโดยเส้นทางเป็นไฟล์ -หรือ- ชื่อเครือข่ายไม่ทราบ

Open()

เปิดเอกสารสําหรับการสกัดและให้การไหลที่มีเนื้อหาเอกสาร

public Stream Open()

Returns

Stream

กระแสที่นําเสนอเนื้อหาของเอกสาร

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

ArgumentException

outputStream’ is not writable.

InvalidOperationException

แหล่งที่มาไม่ได้จัดหา

Save(รั้ว)

บันทึกไฟล์ไปยังไฟล์ปลายทางที่ให้

public void Save(string destinationFileName)

Parameters

destinationFileName string

วิธีของไฟล์ที่จะสร้าง หากชื่อไฟล์ที่ระบุหมายถึงไฟล์ที่มีอยู่มันจะถูกเขียนเกินไป

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง

ArgumentException

destinationFileName’ เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง

UnauthorizedAccessException

การเข้าถึงไฟล์ destinationFileName’ ถูกปฏิเสธ

PathTooLongException

คําอธิบาย destinationFileName’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข

NotSupportedException

ไฟล์ที่ 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

ArgumentNullException

path’ is null.

SecurityException

ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง

ArgumentException

path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง

UnauthorizedAccessException

การเข้าถึงไฟล์ path" ถูกปฏิเสธ

PathTooLongException

ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข

NotSupportedException

ไฟล์ใน 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 รวม

 แบบไทย