是否有任何理由为什么这段代码不应该产生一个带有Slappy这个词的内存流?无法创建MemoryStream
private MemoryStream StringBuilderToMemoryStream(StringBuilder source)
{
MemoryStream memoryStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(memoryStream);
streamWriter.Write("slappy");
return memoryStream;
}
即使我说streamWriter.Write(source.toString());
它失败。
有趣的是,它可以在调用这个例程的其中一个方法上工作,但不在任何其他方法上。
而我给他们打的订单也没有任何区别。
但无论如何,即使当我调用上述,从工作的方法,输出仍然是一个空的MemoryStream。
有什么想法?
此外,我们可以设置['AutoFlush'](http://msdn.microsoft.com/en-IN/library/system.io.streamwriter.autoflush.aspx)为true – V4Vendetta 2013-04-22 05:44:00
1。注意:返回新的MemoryStream(memoryStream.ToArray())(或基于与原始缓冲区相同的缓冲区)可能会更好 - 正确配置'streamWriter'也会处理'memoryStream' ... – 2013-04-22 05:44:32
太棒了。有没有任何理由,当我有一个5K文件,它会写出4K,但不是最后的1K。该行为在使用flush之前。我在那里做了一个AutoFlush的转折点? – griegs 2013-04-22 05:46:43