2010-02-10 7 views

답변

8

에있다. 그것은 매우 풍부하고 유용한 기능을 가지고 있습니다.


편집 : SharpZipLib를 사용에

string[] MainDirs = Directory.GetDirectories(DirString); 

for (int i = 0; i < MainDirs.Length; i++) 
{ 
    using (ZipFile zip = new ZipFile()) 
    { 
     zip.UseUnicodeAsNecessary = true; 
     zip.AddDirectory(MainDirs[i]); 
     zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression; 
     zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G"); 
     zip.Save(string.Format("test{0}.zip", i)); 
    } 
} 
+0

답변에 샘플 코드를 추가하기 만하면됩니다. . –

1

이전 직장에서는 #ziplib을 사용했습니다.

8

봐. 그것은 C#에서 GZip과 ZIP 압축을 모두 지원합니다.

here에는 SharpZipLib로 디렉토리를 압축하기 위해 수행해야 할 작업이 요약되어 있습니다.

0

타사 라이브러리없이이 작업을 수행 할 수있는 가능성을 논의한 good discussion입니다. 나는 당신이 그것에 대해 살펴 봐야한다고 생각합니다.

여기에 작업에 도움이되는 샘플 코드가 large repository 있습니다. 행운을 빌어 요.

2

.NET Framework 3.5에 도입 된 System.IO.Packaging 네임 스페이스를 사용합니다. 이 .NET 프레임 워크의 기본 클래스를 기반으로 어떠한 제 3 자 코드는 코드의 크기를 불면하는 필요하지 않기 때문에 나는이 질문에 대한

here's 유래의 다른 게시물 .. 그 중 하나를 사용하기로 결정

그리고 here's 네임 스페이스와 ZipPackage 선언/설명 @MSDN

기독교 데 도움이

희망

0

Gzip으로는 마이크로 소프트 프레임 워크 2.0 onw의 일부입니다 ard. GZipStream은 System.IO.Compression 네임 스페이스 아래에 있습니다.

이 클래스로 디렉토리를 압축하려면 파일 모음을 포함하는 직렬화 가능 클래스 (예 : 디렉토리)를 만들어야합니다.

Files 클래스에는 file에서 바이트를 읽는 file-name과 file-stream이 포함됩니다. 디렉토리에서 GZip을 적용하면 하나씩 파일을 읽고 GZipStream에 씁니다.

확인이 링크 : http://www.vwd-cms.com/forum/forums.aspx?topic=18

0

또 다른 3.5 이전 옵션은 J 번호에서 압축 유틸리티를 사용하는 것입니다. 결국 .Net은 코드가 원래 작성된 언어를 신경 쓰지 않습니다 ;-).이 작업을 수행하는 방법에 대한

기사 :

0

문제는 아주 오래 그래서 답변입니다.

2012 년 말부터 우수 답변 : .NET 4.5 및 포함 된 System.IO.CompressionSystem.IO.Compression.ZipArchive 네임 스페이스 클래스를 사용하십시오. http://www.codeproject.com/Articles/381661/Creating-Zip-Files-Easily-in-NET

2014/2015 년 이후 FF : 로슬린와 전체 프레임 워크 라이브러리를 오픈 소스로 공개되었다을 AfaI 그래서, 당신을 이해 : 많은 예

하나는 인터넷에서 검색하면 사용자가 수신 링크 4.5 클래스에서 코드를 추출하는 것은 자유 롭다. (실제로는 시스템마다 다르므로) 이전 .NET 프레임 워크의 라이브러리로 사용할 수있다. 어쩌면 다른 클래스를 사용하는 것보다 라이센스면에서 약간의 이점을 얻을 수 있습니다.하지만 이것은 사용자가 분석해야합니다.

관련 문제