2010-10-24 263 views
1

我下載的zip文件,並將它們在Windows Phone 7的獨立存儲壓縮檔案庫是否有一個API或庫,讓我來解壓縮文件?爲Windows Phone 7

回答

1

您可以使用SharpZipLib解壓縮下載的zip文件。我已經在我的應用程序中使用了這個版本(從Codeplex下載的二進制文件),但是,我建議您下載源代碼並自行編譯。解壓縮的文件可以被讀入一個字符串 -

// check for magic numbers 
if (data.Length > 2 && (data[0] == 31 && data[1] == 139)) 
{ 
    using (var ms = new MemoryStream(data)) 
    using (var gzip = new GZipInputStream(ms)) 
    using (var reader = new StreamReader(gzip)) 
    { 
     fileContents = reader.ReadToEnd(); 
    } 
}   

數據是一個字節數組,它包含從IsolatedStorage讀取的zip文件。 fileContents是一個保存解壓縮文件內容的字符串。

HTH, indyfromoz

+1

我也在尋找一個gzip庫,雖然sharpziplib似乎完美的,它的GPL所以不能用於商業應用,據我可以告訴。 – tempy 2010-12-19 03:06:24

+1

@tempy - 許可證實際上是[GNU有例外](http://slsharpziplib.codeplex.com/discussions/85286),允許在商業應用程序中包含二進制文件(與源代碼相對)。 – 2011-10-03 08:06:03

1

SharpZipLib是在GNU許可證,因此沒有通過微軟應用程序商店允許。

+1

如上所述,許可授予了一個例外,允許在商業應用程序中分發_binary_。 – 2011-10-03 08:09:18