使用C#解压缩.gz文件

时间:2009-08-28 16:46:35

标签: c#

我有一个名为ZippedXmls.tar.gz的tarred gunzip文件,里面有2个xmls。 我需要以编程方式解压缩此文件,输出应该是2 xmls复制到一个文件夹中。

如何使用C#实现此目的?

3 个答案:

答案 0 :(得分:36)

我使用.Net的内置GZipStream来压缩字节流,它工作得很好。我怀疑你的文件在被压缩之前首先被tar。

您已经要求提供代码,所以这里有一个示例,假设您有一个压缩的文件:

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文件的人。

答案 1 :(得分:7)

sharpziplib应该能够做到这一点

答案 2 :(得分:0)

我知道这个问题很古老,但是搜索引擎将重定向到此处,以获取有关如何使用C#提取gzip的信息,因此,我想我将提供一个较新的示例:

void beziercurve(int smoothness, size_t n, point_t *points)

有关如何解压缩的较简单问题应该是:Decompress tar files using C#