如何在不转到磁盘的情况下将字符串加载到FileStream中?

时间:2012-01-17 16:14:58

标签: c# filestream

string abc = "This is a string";

如何将abc加载到FileStream中?

FileStream input = new FileStream(.....);

1 个答案:

答案 0 :(得分:21)

使用MemoryStream而不是......

MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc));

记住,当你完成它后,需要关闭一个MemoryStream(就像一个FileStream)。您始终可以将代码放在使用块中,以便更轻松...

using(MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc)))
{
   //use the stream here and don't worry about needing to close it
}

注意:如果您的字符串是Unicode而不是ASCII,则可能需要在转换为Byte数组时指定此字符串。基本上,Unicode字符占用2个字节而不是1.如果需要,将添加填充(例如,0x00 0x61 =“a”在unicode中,其中如ASCII 0x61 =“a”)