1
我正在测试一些代码。我坚持以下。我曾写过text
,压缩流的长度总是10?我究竟做错了什么?为什么压缩流的长度始终为10?
var inStream = new MemoryStream();
var inWriter = new StreamWriter(inStream);
str text = "HelloWorldsasdfghj123455667880fgsjfhdfasdferrbvbyjun hbwecwcxqsz edcrgvebrjnuj5juerqwetsrgfggshurhtnbvzkfjhguhgrgal;kjhao;rhl;zkfhg;aorihghg;oahrgarhguhh';aaeaeiaijeihjrhfidfhfidfidhh953453453";
inWriter.WriteLine(text);
inWriter.Flush();
inStream.Position = 0;
var outStream = new MemoryStream();
var compressStream = new GZipStream(outStream, CompressionMode.Compress);
inStream.CopyTo(compressStream);
compressStream.Flush();
outStream.Flush();
compressStream.Flush();
outStream.Position = 0;
Console.WriteLine(outStream.Position);
Console.WriteLine(outStream.Length);
http://stackoverflow.com/questions/34566559/is-it-possible-to-get-length-of-closed-memory-stream – MethodMan
@MethodMan目前我没有关闭任何东西。它不应该是 –
但是@MethodMan是正确的 - 直到你关闭它,压缩流不知道你已经写完了 - 所以无法完成它的压缩算法。 – PhillipH