我有一個名爲ZippedXmls.tar.gz的tarred gunzip文件,裏面有2個xml文件。 我需要以編程方式解壓縮此文件,輸出應該是2 xmls複製到一個文件夾中。使用C解壓縮.gz文件#
如何使用C#實現此目的?
我有一個名爲ZippedXmls.tar.gz的tarred gunzip文件,裏面有2個xml文件。 我需要以編程方式解壓縮此文件,輸出應該是2 xmls複製到一個文件夾中。使用C解壓縮.gz文件#
如何使用C#實現此目的?
我所使用的.NET的內置GZipStream爲gzip壓縮字節流和它工作得很好。我懷疑你的文件在被壓縮之前被首先塗柏油。
你自找的代碼,所以這裏是一個樣本,假設你有一個是壓縮單個文件:
FileStream stream = new FileStream("output.xml", FileMode.Create); // this is the output
GZipStream uncompressed = new GZipStream(stream, CompressionMode.Decompress);
uncompressed.Write(bytes,0,bytes.Length); // write all compressed bytes
uncompressed.Flush();
uncompressed.Close();
stream.Dispose();
編輯:
你已經改變了你的問題,這樣的文件是一個tar.gz文件 - 從技術上講,我的答案不適用於您的情況,但我會將其保留給希望處理.gz文件的人員。
是的,該文件被tarred,然後zipped.how我檢索2 xml在這種情況下呢?謝謝你的幫助。 – 2009-08-28 17:47:54
sharpziplib就是你想要使用的,然後。它處理tar.gz文件。 – 2009-08-28 17:52:04
感謝查理給我們的幫助! – 2009-08-29 15:31:46
sharpziplib應該能夠做到這一點
如何在一個.gz文件中存儲兩個2「xmls」?或者它實際上是一個.tar.gz文件? – dtb 2009-08-28 16:50:55
請注意,gzip標準僅壓縮和解壓縮字節流 - 如果您壓縮了一組文件,它們可能會在被壓縮之前歸檔爲單個文件,正如dtb所暗示的那樣。 – 2009-08-28 17:17:04