이 방법 자습서에서는 C# 코드에서 Zip 파일을 추출하는 방법을 보여줍니다. C#을 사용하여 애플리케이션에서 아카이브의 압축을 풀 수 있습니다. 이 코드는 GZip, RAR, TAR, 7Zip 등과 같은 여러 zip or archive file formats를 지원합니다.
C#에서 Zip 파일을 추출하는 단계
- NuGet.org에서 Aspose.Zip for .NET 패키지 설치
- 코드에 Aspose.Zip 네임스페이스 포함
- SetLicense 메서드를 사용하여 Aspose.Zip API 라이선스 설정
- FileStream 객체에 입력 Zip 파일 로드
- 파일 스트림에서 새 Archive object 만들기
- 아카이브에 있는 파일 수를 가져오고 아카이브 항목을 반복합니다.
- 각 아카이브 항목을 추출하고 파일을 디스크에 저장합니다.
아카이브의 각 항목에는 파일뿐만 아니라 파일 이름도 포함됩니다. Name 속성을 사용하여 파일 이름을 가져온 다음 동일한 이름의 파일을 추출했습니다.
C#에서 Zip 파일을 추출하는 코드
using System; | |
using System.IO; | |
using System.Text; | |
//Add reference to Aspose.Zip for .NET API | |
//Use following namespace to extract zip file | |
using Aspose.Zip; | |
namespace ExtractZipFile | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set Aspose license before extracting Zip file | |
//using Aspose.Zip for .NET | |
Aspose.Zip.License AsposeZipLicense = new Aspose.Zip.License(); | |
AsposeZipLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//Open file from disk using a file stream | |
FileStream ZipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open); | |
//Load Zip file stream to Archive object | |
Archive ZipArchiveToExtract = new Archive(ZipFileToBeExtracted); | |
//Get number of files | |
int NumberOfFileInArchive = ZipArchiveToExtract.Entries.Count; | |
//Loop through the archive for each file | |
for(int FileCounter =0; FileCounter < NumberOfFileInArchive; FileCounter++) | |
{ | |
//Get each zip archive entry and extract the file | |
ArchiveEntry ArchiveFileEntry = ZipArchiveToExtract.Entries[FileCounter]; | |
string NameOfFileInZipEntry = ArchiveFileEntry.Name; | |
ArchiveFileEntry.Extract(NameOfFileInZipEntry); | |
} | |
} | |
} | |
} |
위의 코드에서는 FileStream을 사용하여 Zip archive를 로드한 다음 추출된 출력 파일을 디스크에 저장했습니다. C#에서 이 코드를 사용하여 메모리에서 파일의 압축을 풀 수도 있습니다. 이는 코드나 응용 프로그램에서 해당 파일이 더 필요하고 디스크에 저장하지 않으려는 경우에 유용할 수 있습니다. 이 코드를 사용하면 애플리케이션에서 또는 독립 유틸리티로 고유한 C# Zip 추출기를 쉽고 빠르게 만들 수 있습니다.