如何使用C#下载并解压一个gzip文件?我需要定期下载、提取和保存http://data.dot.state.mn.us/dds/det_sample.xml.gz的内容到磁盘。有人有使用C#下载gzip文件的经验吗?压缩:使用(FileStreamfStream=newFileStream(@"C:test.docx.gzip",FileMode.Create,FileAccess.Write)){使用(GZipStreamzipStream=newGZipStream(fStream,CompressionMode.Compress)){byte[]inputfile=File.ReadAllBytes(@"c:test.docx");zipStream.Write(inputfile,0,inputfile.Length);}}解压缩:使用(FileStreamfInStream=newFileStream(@"c:test.docx.gz",FileMode.Open,FileAccess.Read)){使用(GZipStreamzipStream=newGZipStream(fInStream,CompressionMode.Decompress)){使用(FileStreamfOutStream=newFileStream(@"c:test1.docx",FileMode.Create,FileAccess.Write)){byte[]tempBytes=newbyte[4096];诠释我;while((i=zipStream.Read(tempBytes,0,tempBytes.Length))!=0){fOutStream.Write(tempBytes,0,i);}}}}摘自我去年写的一篇文章,展示了如何使用C#和内置的GZipStream类解压缩gzip文件。http://blogs.msdn.com/miah/archive/2007/09/05/zipping-files.aspx至于下载,您可以使用.NET中的标准WebRequest或WebClient类。可以使用System.Net中的WebClient来下载:WebClientClient=newWebClient();Client.DownloadFile("http://data.dot.state.mn.us/dds/det_sample.xml.gz","C:mygzipfile.gz");然后使用#ziplib提取Edit:或GZipStream...忘记只使用System.Net命名空间中的HttpWebRequest类来请求文件并下载它。然后使用System.IO.Compression命名空间中的GZipStream类将内容提取到指定位置。他们说明。试试SharpZipLib,这是一个基于C#的库,用于使用gzip/zip压缩和解压缩文件。可以在这篇博文中找到示例用法:usingICSharpCode.SharpZipLib.Zip;FastZipfz=newFastZip();fz.ExtractZip(zipFile,targetDirectory,"");GZipStream类可能正是您要查找的内容。以上就是C#学习教程:如何使用C#下载并解压gzip文件?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
