【发布时间】:2011-12-24 05:27:14
【问题描述】:
我需要将 String 转换为 System.IO.Stream 类型以传递给另一个方法。
我试过这个没有成功。
Stream stream = new StringReader(contents);
【问题讨论】:
-
我不知道 MemoryStream 在 Stream 中是一样的。
标签: c#
我需要将 String 转换为 System.IO.Stream 类型以传递给另一个方法。
我试过这个没有成功。
Stream stream = new StringReader(contents);
【问题讨论】:
标签: c#
试试这个:
// 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();
【讨论】:
Stream 与 MemoryStream 不同。 MemoryStream 继承自 Stream,就像 FileStream 一样。所以你可以将它们转换为Stream...
要将字符串转换为流,您需要决定流中的字节应该使用哪种编码来表示该字符串 - 例如,您可以:
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);
【讨论】:
这是旧的,但需要帮助:
你也可以使用 stringReader 流
string str = "asasdkopaksdpoadks";
StringReader TheStream = new StringReader( str );
【讨论】:
StringReader 不是流。