Class GzipArchive
이름 공간 : Aspose.Zip.Gzip 모임: Aspose.Zip.dll (25.5.0)
이 클래스는 gzip 아카이브 파일을 나타냅니다. 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
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
sourceStream’ is null.
sourceStream’ is too short.
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
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)
아카이브를 제공하는 스트림으로 추출합니다.
public void Extract(Stream destination)
Parameters
destination
Stream
목적지 흐름.그것은 쓸 수 있어야합니다.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
스트림은 부패하고 유효한 데이터가 포함되어 있지 않습니다.
Extract(스트리트)
파일을 경로에 따라 파일로 추출합니다.
public FileInfo Extract(string path)
Parameters
path
string
목적지 파일의 경로.이 파일이 이미 존재한다면, 그것은 과장됩니다.
Returns
추출된 파일에 대한 정보
Exceptions
path’ is null.
호출자는 필요한 액세스 허가를 가지고 있지 않습니다.
path’는 텅 비어 있고, 흰색 공간만 포함하거나, 불가능한 문자를 포함합니다.
path" 파일에 대한 액세스는 거부됩니다.
지정된 path’, 파일 이름, 또는 둘 다 시스템에 의해 정의 된 최대 길이를 초과합니다.예를 들어, Windows 기반 플랫폼에서 경로는 248 문자 미만이어야하며 파일 이름은 260 문자 미만이어야합니다.
path’에 있는 파일에는 링의 중간에 있는 열(:)이 포함되어 있습니다.
스트림은 부패하고 유효한 데이터가 포함되어 있지 않습니다.
ExtractToDirectory(스트리트)
아카이브의 내용을 제공된 디렉토리로 추출합니다.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
디렉토리로 이동하여 추출된 파일을 입력합니다.
Remarks
디렉토리가 존재하지 않는다면, 그것은 만들어집니다.
Exceptions
destinationDirectory’ is null.
지정된 경로, 파일 이름 또는 둘 다 시스템에 의해 정의 된 최대 길이를 초과합니다.예를 들어, Windows 기반 플랫폼에서 경로는 248 문자 미만이어야하며 파일 이름은 260 문자 미만이어야합니다.
호출자는 기존 디렉토리에 액세스 할 수있는 필요한 허가를 가지고 있지 않습니다.
디렉토리가 존재하지 않는 경우, 경로는 드라이브 라벨의 일부가 아닌 콜론 캐릭터 (:)를 포함합니다 (“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 (:).
경로에 의해 지정된 디렉토리는 파일입니다. -or- 네트워크 이름은 알려지지 않습니다.
Open()
추출을 위해 아카이브를 열고 아카이브 콘텐츠와 함께 흐름을 제공합니다.
public Stream Open()
Returns
아카이브의 내용을 나타내는 스트림.
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
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
타르 아카이브가 압축되어야 합니다.
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 아카이브를 구성합니다.