我有一个名为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