이 빠른 문서에는 C#에서 폴더를 압축하는 방법에 대한 정보가 포함되어 있습니다. 폴더에 대한 ZIP 파일을 생성하는 도구를 작성하는 동안 수행해야 하는 자세한 단계를 제공합니다. 타사 도구를 설치하지 않고도 C# zip 폴더에 있는 몇 줄의 코드와 모든 하위 폴더에 있는 파일.
C#에서 폴더를 압축하는 단계
- NuGet 패키지 관리자에서 Aspose.ZIP를 추가하여 폴더를 압축합니다.
- 출력 ZIP 파일 이름으로 FileStream 클래스 객체 인스턴스화
- ZIP Archive 파일 개체 인스턴스화
- 대상 폴더 이름을 제공하여 아카이브에 항목 생성
- 아카이브를 저장하여 모든 파일과 하위 폴더가 포함된 ZIP 파일을 만듭니다.
이 단계에서는 먼저 환경 구성을 제공한 다음 폴더에 대한 ZIP 파일을 만드는 데 필요한 모든 기본 클래스를 소개하여 프로세스를 자세히 설명합니다. zip 폴더에 C# 코딩 단계는 완전한 이해를 위해 나중에 제공됩니다.
C#에서 폴더를 압축하는 코드
using System.IO; | |
using Aspose.Zip; | |
namespace ZipFolderInCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to zip a complete folder in CSharp | |
{ | |
// Create and instantiate a license to zip as many files as required | |
// instead of 8 files only in the absence of the license | |
Aspose.Zip.License licZipFolder= new Aspose.Zip.License(); | |
licZipFolder.SetLicense("Aspose.Zip.lic"); | |
// Create a file stream object by providing the output zip file name | |
using (FileStream ZippedFolder = File.Open("AnimationImages.zip", FileMode.Create)) | |
{ | |
// Create a Zip archive file class object | |
using (Archive archiveFile = new Archive()) | |
{ | |
// Add all the files and folders recursively | |
archiveFile.CreateEntries("AnimationImages"); | |
// Save the output ZIP file | |
archiveFile.Save(ZippedFolder); | |
} | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
C#의 이 코드 줄은 폴더에서 ZIP 파일을 만듭니다. 작업을 수행하는 데 가능한 몇 가지 변형이 있습니다. 예를 들어 대상 폴더 이름을 제공하는 대신 DirectoryInfo 클래스 개체를 출력 ZIP 파일의 파일 소스로 제공할 수 있습니다. 마찬가지로 출력 ZIP 파일에 루트 폴더를 포함하도록 플래그를 설정할 수도 있습니다.
이 자습서에서는 전체 폴더를 압축하도록 안내했습니다. ZIP 파일 추출과 같은 역 프로세스에 대해 알아보려면 C#에서 ZIP 파일을 추출하는 방법에 대한 문서를 참조하세요.