将String转换为System.IO.Stream

时间:2011-11-08 07:13:57

标签: c#

我需要将String转换为System.IO.Stream类型以传递给另一个方法。

我尝试了这次失败。

Stream stream = new StringReader(contents);

5 个答案:

答案 0 :(得分:295)

试试这个:

// convert string to stream
byte[] byteArray = Encoding.UTF8.GetBytes(contents);
//byte[] byteArray = Encoding.ASCII.GetBytes(contents);
MemoryStream stream = new MemoryStream(byteArray);

// convert stream to string
StreamReader reader = new StreamReader(stream);
string text = reader.ReadToEnd();

答案 1 :(得分:23)

要将字符串转换为流,您需要确定流中的字节应该用哪个编码来表示该字符串 - 例如,您可以:

MemoryStream mStrm= new MemoryStream( Encoding.UTF8.GetBytes( contents ) );

MSDN参考:

答案 2 :(得分:6)

System.IO.MemoryStream mStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( contents));

答案 3 :(得分:-1)

string str = "asasdkopaksdpoadks";
byte[] data = Encoding.ASCII.GetBytes(str);
MemoryStream stm = new MemoryStream(data, 0, data.Length);

答案 4 :(得分:-6)

这是旧的但是求助:

您也可以使用stringReader流

string str = "asasdkopaksdpoadks";
StringReader TheStream = new StringReader( str );