[英]Can't create MemoryStream
是否有任何原因為什么此代碼不應產生其中包含單詞Slappy的內存流?
private MemoryStream StringBuilderToMemoryStream(StringBuilder source)
{
MemoryStream memoryStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(memoryStream);
streamWriter.Write("slappy");
return memoryStream;
}
即使我說streamWriter.Write(source.toString());
它失敗。
有趣的是,它只能在調用此例程的一種方法上起作用,而不能在其他任何方法上起作用。
我打電話給他們的順序也沒有區別。
但是無論如何,即使我調用上面的方法,從有效的方法中,輸出仍然是空的MemoryStream。
有什么想法嗎?
您無需刷新流寫入器,因此該字永遠不會寫入內存流。
在對streamWriter.Write
的調用之后添加以下streamWriter.Write
:
streamWriter.Flush();
此外,如果您想稍后從內存流中讀取該單詞,請確保重置其位置,因為在Write之后,它位於slappy
單詞slappy
:
memoryStream.Position = 0;
如果您不想調用streamWriter.Flush();
您可以在創建時設置StreamWriter的AutoFlush-Property。
MemoryStream memoryStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(memoryStream)
{
AutoFlush = true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.