이 블로그 게시물에서는 C#을 사용하여 ZIP 아카이브를 7z 형식으로 변환하는 과정을 안내합니다. 7z 형식은 높은 압축률로 알려져 있으며 파일 크기를 줄이는 데 널리 사용되어 효율적인 저장 및 전송에 이상적입니다. 단계별 접근 방식을 사용하여 변환을 구현하는 방법을 보여드리겠습니다.
왜 ZIP을 7z로 변환해야 하나요?
ZIP 파일을 7z로 변환하는 데에는 여러 가지 이유가 있습니다.
파일 크기 줄이기: 7z 포맷은 ZIP에 비해 뛰어난 압축률을 제공합니다.
성능 향상: 파일 크기가 작을수록 업로드, 다운로드, 전송 속도가 더 빨라집니다.
더 높은 압축 비율: 7z 포맷은 파일을 더 효율적으로 압축하여 파일 크기를 줄여 최적화된 저장을 보장합니다.
ZIP to 7z 아카이브 변환기 - C# API 구성
ZIP 아카이브를 7z 형식으로 변환하려면 Microsoft Visual Studio IDE에서 다음 NuGet 설치 명령을 사용하여 Conholdate.Total for .NET을 설치해야 합니다.
PM> NuGet\Install-Package Conholdate.Total
C#에서 ZIP을 7z로 변환
C#에서 ZIP을 7z로 변환하려면 아래 단계를 따르세요.
Archive: 변환하려는 ZIP 파일을 나타냅니다. Archive 클래스는 ZIP 파일을 열고 읽는 데 사용됩니다.
SevenZipArchive: 이 클래스는 7z 아카이브를 만들고 저장하는 데 사용됩니다.
SevenZipEntrySettings: 7z 포맷에 대한 압축 설정을 지정합니다. 이 경우 최대 압축 효율성을 위해 LZMA2 압축 알고리즘을 사용합니다.
MemoryStream: 파일 데이터는 스트림을 사용하여 메모리에 복사되고, ZIP 파일의 각 항목이 새 7z 아카이브에 추가됩니다.
아래 샘플 코드는 C#에서 ZIP을 7z로 변환하는 방법을 보여줍니다.
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
무료 평가 라이센스
귀하 측에서 다양한 아카이브 변환이나 조작을 평가해 볼 수 있는 무료 임시 라이선스를 받을 수 있습니다.
결론
위에 설명된 단계를 따르면 C#에서 ZIP 파일을 7z 형식으로 쉽게 변환할 수 있습니다. 7z 형식의 더 높은 압축 효율성은 파일 크기를 줄이는 데 탁월한 선택이 되어 대용량 아카이브를 처리할 때 성능을 개선하는 데 도움이 됩니다. 모호한 점에 대해 논의해야 하는 경우 forum으로 문의하세요.
자주 묻는 질문
7z 아카이브에 암호를 설정할 수 있나요?
네, 7z 포맷은 고급 암호화를 지원하므로 비밀번호로 보관 파일을 보호할 수 있습니다.
한 번의 작업으로 여러 개의 ZIP 파일을 7z로 변환할 수 있나요?
네, 여러 ZIP 파일을 반복하여 동일한 논리를 변환에 적용할 수 있습니다.
내 컴퓨터에 7-Zip 소프트웨어를 설치해야 합니까?
아니요, Conholdate.Total for .NET에는 추가 소프트웨어 없이 7z에서 작동하는 데 필요한 모든 구성 요소가 포함되어 있습니다.