我需要将String转换为System.IO.Stream类型以传递给另一个方法。
我尝试了这次失败。
Stream stream = new StringReader(contents);
答案 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 );