2012-09-11 30 views
0

我試圖完成的任務是使應用程序能夠在不完全下載它的情況下提取大型遠程文件(來自ftp或http),並且可以在網絡中恢復提取失敗。Sharpzlib用簡歷閱讀ZipInputStream

根據這個實例

http://wiki.sharpdevelop.net/SharpZipLib-Zip-Samples.ashx#Unpack_a_zip_using_ZipInputStream_eg_for_Unseekable_input_streams_5

我能提取文件,但我無法恢復在網絡故障的情況下提取。 我試過使用ZipInputStream.Skip(長度)其中「長度」是本地加載/解壓縮文件的大小,但它似乎不工作。它拋出異常,如:

型「ICSharpCode.SharpZipLib.SharpZipBaseException」的第一次機會異常出現在ICSharpCode.SharpZipLib.dll 破未壓縮數據塊

任何想法?這是否可能實現?

回答

0

在他們的論壇上得到了Sharpzlib團隊的答案。

這是可能的。這很簡單。當實例化一個新的ZipInputStream時,你需要傳遞一個「專用」流,它將包裝一個FTP連接和一個由FtpWebResponse獲得的流。

sharpzlib團隊已將此作爲示例添加到wiki網站上。看看最後一個教程

https://github.com/icsharpcode/SharpZipLib/wiki/Zip-Samples