假设我想将一个字符串"Hello World"
写入MemoryStream
并将此字符串读取到MessageBox.Show()
,而不使用BinaryWriter
和BinaryReader
等帮助对象, StreamWriter
和StreamReader
等。
您能告诉我如何使用MemoryStream
流对象的低级函数来完成此任务。
P.s:我都使用C#和VB.NET,所以请随意使用其中任何一个。
感谢。
答案 0 :(得分:2)
只需使用System.Text.ASCIIEncoding.ASCII.GetBytes("your string)
并将生成的字节数组写入流中。
然后,要解码字符串,请使用System.Text.ASCIIEncoding.ASCII.GetString(your byte array)
。
希望它有所帮助。
答案 1 :(得分:2)
您必须选择文本编码并使用它来获取数据:
var data = "hello, world";
// Encode the string (I've chosen UTF8 here)
var inputBuffer = Encoding.UTF8.GetBytes(data);
using (var ms = new MemoryStream())
{
ms.Write(inputBuffer, 0, inputBuffer.Length);
// Now decode it back
MessageBox.Show(Encoding.UTF8.GetString(ms.ToArray()));
}
答案 2 :(得分:1)
选中此项:http://msdn.microsoft.com/en-us/library/system.io.memorystream.write.aspx
// Create the data to write to the stream.
byte[] firstString = uniEncoding.GetBytes("Hello World");
using(var memStream = new MemoryStream(100))
{
memStream.Write(firstString, 0 , firstString.Length);
}