Class GzipArchive

Class GzipArchive

이름 공간 : Aspose.Zip.Gzip 모임: Aspose.Zip.dll (25.5.0)

이 클래스는 gzip 아카이브 파일을 나타냅니다. 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

Gzip 압축 알고리즘은 LZ77과 Huffman 코딩의 조합 인 DEFLATE 알고리즘을 기반으로합니다.

Constructors

GzipArchive()

압축을 위해 준비된 Aspose.Zip.Gzip.GzipArchive 클래스의 새로운 사례를 시작합니다.

public GzipArchive()

Examples

다음 예제는 파일을 압축하는 방법을 보여줍니다.

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

GzipArchive(흐름, 볼)

Aspose.Zip.Gzip.GzipArchive 클래스의 새로운 사례를 시작합니다.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

아카이브의 출처입니다.

parseHeader bool

이름을 포함한 속성을 찾기 위해 스트림 헤더를 파르시하십시오.그것은 검색 가능한 스트림에 대한 의미를 만듭니다.

Examples

흐름에서 아카이브를 열고 그것을 추출합니다.

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

Remarks

이 건축기는 압축하지 않습니다. Aspose.Zip.Gzip.GzipArchive.Open 방법을 참조하십시오.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’에는 잘못된 서명이 있습니다.

GzipArchive(링크, 볼)

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

이 건축기는 압축하지 않습니다. Aspose.Zip.Gzip.GzipArchive.Open 방법을 참조하십시오.

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)

아카이브를 제공하는 스트림으로 추출합니다.

public void Extract(Stream destination)

Parameters

destination Stream

목적지 흐름.그것은 쓸 수 있어야합니다.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

스트림은 부패하고 유효한 데이터가 포함되어 있지 않습니다.

Extract(스트리트)

파일을 경로에 따라 파일로 추출합니다.

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

스트림은 부패하고 유효한 데이터가 포함되어 있지 않습니다.

ExtractToDirectory(스트리트)

아카이브의 내용을 제공된 디렉토리로 추출합니다.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

디렉토리로 이동하여 추출된 파일을 입력합니다.

Remarks

디렉토리가 존재하지 않는다면, 그것은 만들어집니다.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

지정된 경로, 파일 이름 또는 둘 다 시스템에 의해 정의 된 최대 길이를 초과합니다.예를 들어, Windows 기반 플랫폼에서 경로는 248 문자 미만이어야하며 파일 이름은 260 문자 미만이어야합니다.

SecurityException

호출자는 기존 디렉토리에 액세스 할 수있는 필요한 허가를 가지고 있지 않습니다.

NotSupportedException

디렉토리가 존재하지 않는 경우, 경로는 드라이브 라벨의 일부가 아닌 콜론 캐릭터 (:)를 포함합니다 (“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

경로에 의해 지정된 디렉토리는 파일입니다. -or- 네트워크 이름은 알려지지 않습니다.

Open()

추출을 위해 아카이브를 열고 아카이브 콘텐츠와 함께 흐름을 제공합니다.

public Stream Open()

Returns

Stream

아카이브의 내용을 나타내는 스트림.

Examples

아카이브를 추출하고 추출 된 콘텐츠를 파일 스트림으로 복사합니다.

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);
    }            
}

.NET 4.0 이상의 Stream.CopyTo 방법을 사용할 수 있습니다: unpacked.Kopy To( 추출);

Remarks

파일의 원본 콘텐츠를 얻기 위해 스트림에서 읽으십시오.

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

타르 아카이브가 압축되어야 합니다.

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 아카이브를 구성합니다.

 한국어