압축 파일 형식용 오픈 소스 .NET API
널리 사용되는 압축 파일 형식 작업을 위한 오픈 소스 .NET 라이브러리입니다.
샤프컴프레스란?
SharpCompress는 소프트웨어 개발자가 RAR, 7ZAP, ZIP, TAR, GZIP, BZIP2 등과 같은 인기 있는 압축 파일 형식으로 작업할 수 있도록 하는 오픈 소스 순수 .NET 라이브러리입니다. 7ZIP, ZIP/unzip, TAR/untar LZIP/unlzip, BZIP2/unbzip2 및 GZIP/ungzip 압축 해제 기능을 전방 전용 읽기 및 파일 랜덤 액세스 API로 제공합니다. 또한 ZIP, TAR, BZIP2 및 GZIP 파일 형식에 대한 쓰기 지원을 구현했습니다.
SharpCompress 디렉터리의 모든 파일에서 파일로 zip 아카이브 만들기, RAR 파일에서 디렉터리로 모든 파일 추출, ReaderFactory를 사용하여 아카이브 유형 자동 감지 및 항목 스트림 열기, ReaderFactory를 사용하여 아카이브 유형 자동 감지 및 엔트리 스트림 등을 여십시오.
SharpCompress 시작하기
SharpCompress를 설치하려면 .NET Framework 3.5 이상이 필요합니다. GitHub에서 저장소를 수동으로 다운로드할 수 있습니다. 또는 NuGet을 사용할 수 있습니다.
다음은 명령입니다.
Install-Package sharpcompress -Version number
ZIP 파일에서 파일 압축 및 추출을 위한 .NET 라이브러리
SharpCompress를 사용하면 .NET 개발자가 폴더의 내용을 새 ZIP 파일로 압축하여 ZIP 파일을 만들 수 있습니다. ZIP 파일 형식은 가장 널리 사용되는 압축 및 보관 파일 형식 중 하나입니다. 하나 이상의 파일 크기를 줄이는 데 도움이 되며 여러 파일과 폴더를 단일 파일로 보관할 수도 있습니다. API를 통해 개발자는 ZIP 파일에서 파일을 추출할 수도 있습니다. 추출할 파일을 지정하기만 하면 아카이브의 모든 파일을 순환하여 디렉토리에 저장합니다.
RAR에서 모든 파일 추출 - C#
// Read RAR file
RarArchive rarArchive = RarArchive.Open("fileformat.rar");
// Extract all data
foreach (var entry in rarArchive.Entries.Where(entry => !entry.IsDirectory))
{
entry.WriteToDirectory("\\filformat", new ExtractionOptions()
{
ExtractFullPath = true,
Overwrite = true
});
}
.NET을 사용하여 기존 ZIP 파일에 파일 추가
SharpCompress 라이브러리는 사용자에게 기존 ZIP 파일에 파일을 추가할 수 있는 기능을 제공합니다. 먼저 기존 ZIP 파일에 추가할 파일을 선택해야 합니다. SharpCompress는 먼저 임시 파일에 저장하고 일단 저장하면 임시 파일을 영구 위치로 이동할 수 있습니다. 이런 식으로 기존 ZIP에 추가할 때 새 파일이 압축됩니다. 세 가지 간단한 단계를 사용하여 기존 파일을 zip 아카이브에 추가할 수 있습니다.
기존 ZIP 파일에 파일 추가
- ZipArchive.Open() 메서드를 사용하여 기존 ZIP 파일을 열고 파일 이름을 매개변수로 전달
- AddAllFromDirectory() 메서드를 사용하여 ZIP에 파일을 추가하고 디렉토리 경로를 첨부 파일로 전달
- SaveTo() 메서드를 사용하여 파일을 저장하고 첫 번째 인수로 출력 경로를 전달하고 두 번째 인수로 CompressionType을 전달합니다.
기존 ZIP 아카이브에 파일 추가 - C#
// open existing ZIP file
ZipArchive archive = ZipArchive.Open("test.zip");
// add samples files in it
archive.AddAllFromDirectory("\\sample");
// save file
archive.SaveTo("sample.zip", CompressionType.Deflate);