C#을 사용하여 아카이브를 압축하거나 추출하는 방법
개요
이 문서에서는 아카이브를 압축하거나 추출하는 방법을 설명합니다. 이러한 아카이브는 Zip, 7z, Rar 및 기타 유사한 형식일 수 있습니다. 다음 주제를 다룹니다.
형식: ZIP
형식: ZIP - 비밀번호
형식: 7z
형식: RAR
이 기사에서 다루는 다른 주제.
C# 아카이브 압축 또는 추출
이 페이지에서는 .NET용 Aspose.ZIP을 사용하여 C#에서 표준 아카이브 작업을 수행하는 방법을 보여줍니다. 다음 NuGet 명령을 사용하여 Aspose.ZIP 패키지를 .NET 프로젝트에 추가할 수 있습니다.
1PM> Install-Package Aspose.Zip
또한 어셈블리 참조로 .NET 프로젝트에 직접 추가할 수도 있습니다. Aspose.ZIP 라이브러리는 당사 홈페이지( https://products.aspose.com/zip/net/)에서 다운로드할 수 있습니다.
Aspose.ZIP .NET 라이브러리는 .NET Core를 지원하는 모든 OS(예: Windows, Linux 또는 macOS)에서 사용할 수 있습니다.
C#에서 ZIP 파일을 만드는 방법
- Archive 클래스의 인스턴스를 생성합니다.
- Archive.CreateEntry 메서드를 사용하여 파일을 추가합니다.
- Archive.Save 방법을 사용하여 파일을 압축합니다.
1using (var archive = new Archive())
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
Archive 클래스 생성자는 암호화 없이 Deflate 압축 알고리즘을 사용하여 일반 ZIP 아카이브를 생성합니다.
C#에서 파일의 압축을 푸는 방법
- _zip 파일_을 사용하여 Archive 클래스의 인스턴스를 만듭니다.
- Archive.ExtractToDirectory 방법을 사용하여 _zip 파일_을 폴더에 압축 해제합니다.
1using (var archive = new Archive("input_archive.zip"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
Archive 클래스 생성자는 모든 ZIP 아카이브를 열 수 있습니다. 입력 아카이브가 비밀번호로 보호되는 경우 ArchiveLoadOptions를 두 번째 매개변수로 제공해야 합니다(아래 예 참조).
C#에서 7z 파일을 압축하는 방법
- SevenZipLZMACompressionSettings을 사용하여 SevenZipArchive 클래스의 인스턴스를 생성합니다.
- SevenZipArchive.CreateEntries 메서드를 호출하여 파일을 추가합니다.
- SevenZipArchive.Save 메소드를 호출하여 7z 형식으로 저장합니다.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3 archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4 archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}
새로운 7z 아카이브를 생성하려면 SevenZipArchive 클래스 생성자를 사용해야 합니다. 위 샘플에서는 클래식 LZMA 압축을 사용하지만 다른 압축 및 암호화 옵션도 사용할 수 있습니다.
C#에서 7z 파일을 추출하는 방법
- _7z 파일_을 사용하여 SevenZipArchive 클래스의 인스턴스를 만듭니다.
- SevenZipArchive.ExtractToDirectory 메서드를 호출하여 7z 파일의 내용을 추출합니다.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
위 샘플에서 SevenZipArchive 클래스 생성자는 보호되지 않은 7z 아카이브를 엽니다.
C#에서 RAR 파일을 추출하는 방법
- _RAR 파일_을 사용하여 RarArchive 클래스의 인스턴스를 만듭니다.
- RarArchive.ExtractToDirectory 메소드를 호출하여 RAR 파일의 내용을 추출합니다.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
위의 샘플 RarArchive 클래스 생성자는 보호되지 않은 RAR 아카이브를 엽니다.
C#에서 비밀번호를 사용하여 파일을 ZIP하는 방법
단계: C#에서 비밀번호를 사용하여 Zip 파일 만들기
- Archive 클래스의 인스턴스를 생성합니다.
- ArchiveEntrySettings를 전달하고 _password_가 있는 TraditionalEncryptionSettings 객체로 encryptionSettings 속성을 설정합니다.
- Archive.CreateEntry 메서드를 여러 번 호출하여 원하는 만큼 파일을 추가합니다.
- Archive.Save 방법을 사용하여 _Zip 파일_로 저장합니다.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
암호화설정 매개변수는 비밀번호로 보호된 ZIP 아카이브를 생성하는 데 사용됩니다.
C#에서 비밀번호가 있는 파일의 압축을 푸는 방법
단계: C#을 사용하여 비밀번호로 보호된 Zip 파일 압축 풀기
- Archive 클래스의 인스턴스를 생성합니다.
- ArchiveLoadOptions 객체를 전달하고 zip 파일 _password_로 DecryptionPassword 속성을 설정합니다.
- Archive.ExtractToDirectory 방법을 사용하여 _zip 파일_을 폴더에 압축 해제합니다.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
DecryptionPassword 속성 값이 포함된 ArchiveLoadOptions는 암호로 보호된 ZIP 아카이브를 여는 데 사용됩니다.
참조
이 기사에서는 이러한 주제도 다룹니다. 코드는 위와 동일합니다.
- 압축
- C# Zip 파일
- C# Zip 파일
- C# Zip 아카이브 생성
- C# Zip 여러 파일
- C# Zip에 파일 추가
- C# 파일을 Zip으로 압축
- C# 파일을 Zip으로 보관
- C# 파일을 압축하는 방법
- 추출
- C# 압축해제 파일
- C# 압축 해제 파일
- C# 추출 Zip 아카이브
- C# 파일 압축을 푸는 방법
- 압축 비밀번호로 보호됨
- 비밀번호가 포함된 C# Zip 파일
- 비밀번호가 포함된 C# Zip 파일
- C# 파일을 비밀번호로 보호된 Zip으로 압축
- C# 비밀번호 보호를 사용하여 파일을 Zip으로 보관
- 추출 비밀번호가 보호됨
- C# UnZip 비밀번호로 보호된 파일
- C# UnZip 비밀번호로 보호된 파일
- C# 비밀번호로 보호된 Zip 아카이브 추출
- C# 비밀번호로 보호된 파일의 압축을 푸는 방법
형식: ZIP
- 압축
- C# 7z 파일
- C# 7z 파일
- C# 7z 아카이브 생성
- C# 7z 여러 파일
- C# 7z에 파일 추가
- C# 파일을 7z로 압축
- C# 파일을 7z에 보관
- C# 파일을 7z하는 방법
- 추출
- C# 7z 파일 압축 풀기
- C# 7z 파일 압축 풀기
- C# 7z 파일 추출
- C# 7z 파일 추출
- C# 추출 7z 아카이브
- C# 7z 파일 추출 방법
형식: 7z