2013-06-27 13 views
1

我們需要在.NET中創建大型zip文件。目前我們使用STL System.IO.Compression.ZipFile.CreateFromDirectory函數,該函數效果很好,但是當目標歸檔文件大於4GB時,所有歸檔工具(包括內置的windows zip支持)都無法正確打開它,並認爲它是損壞。我也嘗試過很多支持zip64格式的工具(7zip,TUGZip,DotNetZip庫等),但他們也認爲它已損壞。工具打開> 4GB .zip文件由.NET System.IO.Compression.ZipFile.CreateFromDirectory創建

我仍然可以通過System.IO.Compression.ZipFile.ExtractToDirectory函數來提取它。然而,我想避免重新發明輪子,並編寫我自己的工具來從檔案中提取選定的文件(每次只需要1個日誌時就會完全提取它)將是不可接受的

您是否知道任何(最好是免費的)工具可以打開ZipFile.CreateFromDirectory創建的大於4GB的zip壓縮文件?甚至可以使用ZipFile.ExtractToDirectory選擇文件的非常簡單的提取器的現有代碼片段。

+0

你確定解壓縮是問題嗎?有這麼多的工具說檔案是腐敗的,它可能真的是和.NET壓縮是真正的問題? – cremor

+0

你有沒有考慮過使用DotNetZip進行壓縮?我假設它的ZIP64支持能夠正常工作,並且可以通過其他工具打開? –

+0

@cremor我總是可以使用補充函數(ExtractToDirectory)成功解壓縮壓縮文件而不會出現任何問題。所以檔案沒有被破壞 - 只是我使用的工具不能「理解」它的格式。 此外,此問題僅適用於檔案大於〜4GB – Jan

回答