2011-02-09 1 views
3

zip 및 압축 해제 용 날카로운 lib를 사용 중입니다. 그것은 4GB 파일까지 잘 작동하므로 .net 프레임 워크 솔루션을 찾고 있습니다. 나는 dotnet에서 Gzipcompression을 시도했다. 그것도 4GB 파일 압축을 풀지 못했습니다. 대용량 파일을 처리하는 다른 zip 라이브러리를 알고 계십니까? 당신이 System.IO.Compression 네임 스페이스의 클래스를 사용할 수 있도록C에서 4GB 파일의 압축을 풉니 다. #

감사

답변

7

DotNetZip은 100 % 관리 코드에서 ZIP64 아카이브 (4.2GB 이상)를 올바르게 처리합니다. 그것도 (내 테스트에서) 극적으로 더 나은 기능 세트를 가지고 있으며 압축을위한 프레임 워크 라이브러리 (즉, 훨씬 더 작은 파일 - 프레임 워크의 압축 루틴 크기의 1/3 정도) .

5

는 4 기가 제한은, .NET 4.0에서 제거되었습니다. System.IO.Compression에서

압축 알고리즘 4. DeflateStream 및 GZipStream 더이상 이미 압축 된 데이터를 팽창 .NET 개선되지 않았다. 따라서 에서 많은 경우이 개의 스트림을 .NET 4에서 사용할 때 더 좋은 압축률을 보입니다. 4GB 크기 제한을 제거 했으므로 이제 길이가 4GB 이상인 스트림을 압축 할 수 있습니다. 에서

: What's New in BCL

당신이 .NET 4.0 프레임 워크를 대상으로 할 수없는 경우는 내가 어떤 도움을 드릴 수 없어 유감.

1

외관에 문제가 없다면 Shell FolderItems (shell32.dll)를 사용할 수 있습니다. 단점은 사용하기가 약간 까다 롭고 콜백 루틴이 아닌 Windows 진행 대화 상자가 표시된다는 것입니다.