GZip 아카이브(.gz)는 GNU zip 압축 알고리즘을 사용하여 하나 이상의 파일을 압축하는 데 사용됩니다. 일반적으로 UNIX 운영 체제에서 파일 압축에 사용됩니다. 이 기사에서는 C#에서 프로그래밍 방식으로 GZip(.gz)를 사용하여 파일을 압축하는 방법을 배웁니다. 또한 이 기사에서는 C#에서 GZip 아카이브의 압축을 푸는 방법도 다룹니다.
- GZip을 사용하여 파일 압축 및 압축 해제를 위한 .NET API
- C#에서 GZip을 사용하여 파일 압축
- C#에서 GZip 아카이브 압축 풀기
- GZip 아카이브를 C#의 스트림으로 추출
GZip을 사용하여 파일을 압축 및 압축 해제하는 C# API
GZip을 사용하여 파일을 압축 및 압축 해제하려면 .NET용 Aspose.ZIP를 사용합니다. ZIP, 7z, GZip 등 널리 사용되는 아카이브 형식으로 작업할 수 있는 강력한 API입니다. API를 다운로드하거나 [NuGet]을 사용하여 설치할 수 있습니다. 8.
PM> Install-Package Aspose.Zip
C#에서 GZip을 사용하여 파일 압축
다음은 C#에서 GZip을 사용하여 파일을 압축하는 단계입니다.
- GzipArchive 클래스의 객체를 생성합니다.
- GzipArchive.SetSource(String) 메서드를 사용하여 아카이브할 파일을 추가합니다.
- GzipArchive.Save(String) 메서드를 사용하여 GZip 아카이브를 만듭니다.
다음 코드 샘플은 C#에서 파일을 GZip으로 압축하는 방법을 보여줍니다.
using (GzipArchive archive = new GzipArchive())
{
// 소스 설정
archive.SetSource("data.bin");
// 아카이브 생성
archive.Save("archive.gz");
}
C#에서 GZip 아카이브 압축 풀기
다음은 .NET용 Aspose.ZIP을 사용하여 C#에서 GZip 아카이브의 압축을 푸는 단계입니다.
- GzipArchive 클래스의 객체를 생성하고 GZip 아카이브의 경로로 초기화합니다.
- File.Create(String) 메소드를 사용하여 추출된 내용을 위한 파일을 생성합니다.
- GZipArchive.Open() 메서드를 사용하여 추출을 위해 GZip을 엽니다.
- 추출된 내용을 읽고 파일에 씁니다.
다음 코드 샘플은 C#을 사용하여 GZip 아카이브의 압축을 푸는 방법을 보여줍니다.
// GZip 아카이브 로드
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);
}
}
C#에서 스트림으로 GZip 아카이브 추출
GZip 아카이브를 메모리 스트림 개체로 추출할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.
- 새 MemoryStream 개체를 만듭니다.
- GzipArchive 클래스의 객체를 생성하고 GZip 아카이브의 경로로 초기화합니다.
- GZip을 추출하고 GZipArchive.Open().CopyTo(MemoryStream) 메서드를 사용하여 메모리 스트림에 복사합니다.
다음 코드 샘플은 C#을 사용하여 GZip 아카이브를 메모리 스트림으로 추출하는 방법을 보여줍니다.
// 메모리 스트림 생성
var ms = new MemoryStream();
// GZip 아카이브 로드
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// 메모리 스트림에 추출 및 복사
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
무료 API 라이선스 받기
평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.
결론
이 기사에서는 C#에서 GZip을 사용하여 파일을 압축하거나 압축 해제하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 스트리밍하기 위해 GZip을 추출하는 방법을 보았습니다. 문서를 사용하여 .NET용 Aspose.ZIP에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 문의 사항을 공유할 수 있습니다.