在没有帮助程序类的流中读取和写入字符串

时间:2011-08-29 15:54:30

标签: c# vb.net

假设我想将一个字符串"Hello World"写入MemoryStream并将此字符串读取到MessageBox.Show(),而不使用BinaryWriterBinaryReader等帮助对象, StreamWriterStreamReader等。

您能告诉我如何使用MemoryStream流对象的低级函数来完成此任务。

P.s:我都使用C#和VB.NET,所以请随意使用其中任何一个。

感谢。

3 个答案:

答案 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);
}