我将尝试读取文件并使用GZipStream进行压缩,如下所示:
问题在于
我已经尝试在
using (var outStream = new MemoryStream())
{
using (var fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read))
{
using (var gzipStream = new GZipStream(outStream, CompressionMode.Compress))
{
fileStream.CopyTo(gzipStream);
Debug.WriteLine(
"Compressed from {0} to {1} bytes",
fileStream.Length,
outStream.Length);
// "outStream" is utilised here (persisted to a NoSql database).
}
}
}
问题在于
outStream.Length
总是显示10个字节。我做错了什么?我已经尝试在
fileStream.CopyTo
行之后调用gzipStream.Close()
(如其他论坛中建议的那样),但这似乎也关闭了outStream
,因此随后使用它的代码会失败。