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对象中读取出来并输出到控制台上。