将string转换为System.IO.Stream
我需要将string转换为System.IO.Streamtypes传递给另一个方法。
我尝试了这个失败。
Stream stream = new StringReader(contents);
尝试这个:
// 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();
要将string转换为stream,您需要确定stream中字节应该表示该string的编码方式 – 例如,您可以:
MemoryStream mStrm= new MemoryStream( Encoding.UTF8.GetBytes( contents ) );
MSDN参考资料:
System.IO.MemoryStream mStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( contents));
string str = "asasdkopaksdpoadks"; byte[] data = Encoding.ASCII.GetBytes(str); MemoryStream stm = new MemoryStream(data, 0, data.Length);
这是旧的,但要求帮助:
你也可以使用stringReaderstream
string str = "asasdkopaksdpoadks"; StringReader TheStream = new StringReader( str );