C#——文件读取BinaryWrite和BinaryRead类详情

文件读取BinaryWrite和BinaryRead类

|--------------|--------------|
| BinaryReader | 从二进制流中读取原始数据 |
| BinaryWriter | 以二进制格式写入原始数据 |

BinaryWrite和BinaryRead类使用方法

写入

cs 复制代码
// 创建一个文件流:
        // 参数1: 指定路径 参数2: 创建文件的模式Create 如果文件存在,则会把之前的替换掉 参数3: 文件的权限,写入权限
FileStream fs = new FileStream(@"1.txt", FileMode.Create,FileAccess.Write);

// 创建一个写入对象 参数是文件流
BinaryWriter bw = new BinaryWriter(fs);

// 写入的内容:
bw.Write(new UTF8Encoding().GetBytes("18")); // 写入一个整形的数据 bw.Write(new UTF8Encoding().GetBytes("true")); // 写入一个bool类型 bw.Write(new UTF8Encoding().GetBytes("c#基础"));

// 清空缓存区,
// 数组 变量 内存当中就是缓存,读写快,不是持久存储(程序一旦停掉,存储数据立马消失)
bw.Flush();
bw.Close(); // 关闭二进制流
fs.Close(); // 关闭文件流

读取

cs 复制代码
// 以二进制的形式进行读取文件
fs = new FileStream(@"1.txt", FileMode.Open, FileAccess.Read);

// 创建文件读取的对象
BinaryReader br = new BinaryReader(fs);

字节数组 fs.Length 长度是文件数据的长度 b
yte[] data = new byte[fs.Length]; // Read() 参数1: 读取字节数组, 参数2: 从0开始读取 参数3: 读取的长度

// 当读取的数据不存在的时候
while (br.Read(data, 0, data.Length) > 0)
{
         Console.WriteLine(new UTF8Encoding().GetString(data));
}
br.Close(); // 关闭二进制读取流
fs.Close(); // 关闭文件流
相关推荐
淡海水41 分钟前
01-05-运行时-JIT优化全景-内联去虚拟化边界检查消除
windows·c#·虚拟化·jit·内联·边界检查消除
程序员黑豆7 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年8 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
2603_965148118 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
小席是个热心肠9 小时前
AI相关的自我学习
java·人工智能·学习
波波0079 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Java成神之路-11 小时前
Spring Cloud 微服务契约先行:为什么 Controller 建议要实现 Feign 接口?
spring·spring cloud·微服务
知无不研11 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
数智化管理手记11 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能