BinaryReader有两种流
第一种:文件流(File Stream)
顾名思义,存储在文件中的,文件流用于读写文件,它将数据读取或写入到磁盘上的文件中。你可以使用 File.Open 方法创建文件流,指定文件的路径和打开方式(例如 FileMode.Create 用于创建新文件,FileMode.Open 用于打开已存在的文件)。
例如
using System;
using System.IO;
public class Program
{
public static void Main()
{
// 写入数据到文件流
using (FileStream fileStream = new FileStream("data.txt", FileMode.Create))
{
byte[] data = { 10, 20, 30, 40, 50 };
fileStream.Write(data, 0, data.Length);
}
// 读取文件流中的数据
using (FileStream fileStream = new FileStream("data.txt", FileMode.Open))
{
byte[] buffer = new byte[5];
fileStream.Read(buffer, 0, buffer.Length);
// 打印读取的数据
Console.WriteLine("读取的数据:");
foreach (byte value in buffer)
{
Console.WriteLine(value);
}
}
}
}
第二种:内存流(Memory Stream)
当我们需要在内存中操作数据时,可以使用内存流(MemoryStream)而不是文件流。内存流是基于内存的流,它将数据存储在内存中而不是硬盘上的文件。
using System;
using System.IO;
public class Program
{
public static void Main()
{
// 创建一个内存流
using (MemoryStream memoryStream = new MemoryStream())
{
// 写入数据到内存流
byte[] data = { 10, 20, 30, 40, 50 };
memoryStream.Write(data, 0, data.Length);
// 将流的位置重置为开头
memoryStream.Seek(0, SeekOrigin.Begin);
// 从内存流中读取数据
byte[] buffer = new byte[data.Length];
memoryStream.Read(buffer, 0, buffer.Length);
// 打印读取的数据
Console.WriteLine("读取的数据:");
foreach (byte value in buffer)
{
Console.WriteLine(value);
}
}
}
}