如何从字符串生成流?
我需要为采用来自文本文件的流的方法编写单元测试。我想做这样的事情:
Stream s = GenerateStreamFromString("a,b \n c,d");
回答:
public static Stream GenerateStreamFromString(string s){
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
不要忘记使用“使用”:
using (var stream = GenerateStreamFromString("a,b \n c,d")){
// ... Do stuff to stream
}
关于StreamWriter
未处置。StreamWriter
只是基本流的包装,并且不使用任何需要处理的资源。该Dispose
方法将关闭底层Stream
是StreamWriter
被写入。在这种情况下,MemoryStream
我们要返回。
在.NET
4.5中,现在有一个重载StreamWriter
,可以在处置编写器后使基础流保持打开状态,但是此代码执行相同的操作,并且也适用于其他版本的.NET。
请参见是否可以在不关闭StreamWriter的BaseStream的情况下将其关闭?
以上是 如何从字符串生成流? 的全部内容, 来源链接: utcz.com/qa/400350.html