温馨提示×

C# MemoryStream类怎么使用

小亿
120
2023-08-09 09:30:46
栏目: 编程语言

MemoryStream类是在内存中读写二进制数据的流。可以通过以下步骤使用MemoryStream类:

  1. 创建一个MemoryStream对象:可以使用无参构造函数MemoryStream()创建一个空的MemoryStream对象,也可以使用带参数的构造函数MemoryStream(byte[] buffer)创建一个包含指定字节数组的MemoryStream对象。

  2. 写入数据:可以使用Write方法将数据写入MemoryStream对象。例如,使用memoryStream.Write(buffer, 0, buffer.Length)方法将字节数组buffer写入到MemoryStream对象中。

  3. 读取数据:可以使用Read方法从MemoryStream对象中读取数据。例如,使用memoryStream.Read(buffer, 0, buffer.Length)方法将MemoryStream对象中的数据读取到字节数组buffer中。

  4. 定位指针:可以使用Seek方法在MemoryStream对象中定位指针的位置。例如,使用memoryStream.Seek(offset, SeekOrigin.Begin)方法将指针定位到指定的偏移量offset处。

  5. 清空数据:可以使用SetLength方法将MemoryStream对象的长度截取为0,从而清空MemoryStream对象中的数据。例如,使用memoryStream.SetLength(0)方法清空MemoryStream对象。

以下是一个使用MemoryStream类的示例:

byte[] buffer = Encoding.UTF8.GetBytes("Hello, World!");
using (MemoryStream memoryStream = new MemoryStream())
{
// 写入数据
memoryStream.Write(buffer, 0, buffer.Length);
// 定位指针
memoryStream.Seek(0, SeekOrigin.Begin);
// 读取数据
byte[] readBuffer = new byte[buffer.Length];
memoryStream.Read(readBuffer, 0, readBuffer.Length);
// 输出结果
Console.WriteLine(Encoding.UTF8.GetString(readBuffer));
}

上述代码将字符串"Hello, World!"转换为字节数组,并使用MemoryStream类将字节数组写入到内存中。然后,通过定位指针和读取数据,将数据从MemoryStream对象中读取出来并输出到控制台上。

0