MemoryStream类是在内存中读写二进制数据的流。可以通过以下步骤使用MemoryStream类:
创建一个MemoryStream对象:可以使用无参构造函数MemoryStream()
创建一个空的MemoryStream对象,也可以使用带参数的构造函数MemoryStream(byte[] buffer)
创建一个包含指定字节数组的MemoryStream对象。
写入数据:可以使用Write方法将数据写入MemoryStream对象。例如,使用memoryStream.Write(buffer, 0, buffer.Length)
方法将字节数组buffer
写入到MemoryStream对象中。
读取数据:可以使用Read方法从MemoryStream对象中读取数据。例如,使用memoryStream.Read(buffer, 0, buffer.Length)
方法将MemoryStream对象中的数据读取到字节数组buffer
中。
定位指针:可以使用Seek方法在MemoryStream对象中定位指针的位置。例如,使用memoryStream.Seek(offset, SeekOrigin.Begin)
方法将指针定位到指定的偏移量offset
处。
清空数据:可以使用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对象中读取出来并输出到控制台上。