在没有辅助类的流中读写字符串
本文关键字:读写 字符串 | 更新日期: 2023-09-27 18:07:01
假设我想将字符串"Hello World"
写入MemoryStream
,并将该字符串读取到MessageBox.Show()
,而不使用辅助对象,如BinaryWriter
和BinaryReader
, StreamWriter
和StreamReader
等。
你能告诉我如何用MemoryStream
流对象的低级函数来完成这个吗?
p。s:我都用c#和VB。所以,请随意使用它们中的任何一个。
谢谢。
您必须选择一个文本编码并使用它来获取数据:
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()));
}
只需使用System.Text.ASCIIEncoding.ASCII.GetBytes("your string)
并将结果字节数组写入流。
然后,使用System.Text.ASCIIEncoding.ASCII.GetString(your byte array)
解码字符串。
希望能有所帮助。
检查这个: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);
}