本文介绍了gzipstream.copyto替代简便的方法,在.NET 3.5中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
喜 在这code。在.NET 4中,我用CopyTo从gzipstream方法
hi in this code in 4 i used copyto method of gzipstream
System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray); GZipStream DecompressOut = new GZipStream(ms, System.IO.Compression.CompressionMode.Decompress); MemoryStream outmem = new MemoryStream(); DecompressOut.copyto(outmem); FileStream outFile = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(outFile);
我怎么能直接写给写GZipStream到的MemoryStream或者的FileStream?
how can i diretly write GZipStream into MemoryStream or FileStream?
推荐答案流之间复制是pretty的基础:
Copying between streams is pretty basic:
public static long CopyTo(this Stream source, Stream destination) { byte[] buffer = new byte[2048]; int bytesRead; long totalBytes = 0; while((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) { destination.Write(buffer, 0, bytesRead); totalBytes += bytesRead; } return totalBytes; }
因此,只要插上在,你应该进行排序:
So just plug that in, and you should be sorted:
using(var ms = new MemoryStream(byteArray)) using(var gzip = new GZipStream(ms, CompressionMode.Decompress)) using (var file = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write)) { gzip.CopyTo(file); }更多推荐
gzipstream.copyto替代简便的方法,在.NET 3.5中
发布评论