【发布时间】:2009-04-26 03:46:43
【问题描述】:
这组方法有什么问题?
byte[] bytes;
using (var memory_stream = new MemoryStream())
using (var gzip_stream = new GZipStream(memory_stream, CompressionMode.Compress))
{
var buffer = Encoding.Default.GetBytes("Hello nurse!");
gzip_stream.Write(buffer, 0, buffer.Length);
bytes = memory_stream.ToArray();
}
int total_read = 0;
using (var input_stream = new MemoryStream(bytes))
using (var gzip_stream = new GZipStream(input_stream, CompressionMode.Decompress, true))
{
int read;
var buffer = new byte[4096];
while ((read = gzip_stream.Read(buffer, 0, buffer.Length)) != 0) {
total_read += read;
}
}
Debug.WriteLine(bytes);
Debug.WriteLine(total_read);
gzipStr 是一个有效的 Gzipped Stream(我可以使用 GzipStream() Compress 成功压缩它)。
为什么total_read总是0??? gzip 流是否在解压缩我的流?我是不是做错了什么?
我在这里做错了什么???!!!
【问题讨论】:
标签: .net compression gzip