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(); // 关闭文件流
相关推荐
cyforkk2 分钟前
Tomcat 类加载机制解析:为何依赖包必须放在 WEB-INF/lib 目录下
java
JaJian.22 分钟前
Java后端服务假死问题排查与解决
java·开发语言
救赎小恶魔23 分钟前
C++算法(5)
java·c++·算法
bugcome_com1 小时前
C# 常量详解:从基础语法到实际应用
c#
jjjxxxhhh1231 小时前
RSA加密解密代码
开发语言·c++
重生之后端学习1 小时前
236. 二叉树的最近公共祖先
java·数据结构·算法·职场和发展·深度优先
Sun_gentle1 小时前
java.lang.RuntimeException: Could not load wrapper properties from ‘C:\Users\
java·开发语言·安卓
笨蛋不要掉眼泪1 小时前
Nacos配置中心详解:核心用法、动态刷新与经典面试题解析
java·数据库·后端
键盘鼓手苏苏1 小时前
Flutter for OpenHarmony:git 纯 Dart 实现的 Git 操作库(在应用内实现版本控制) 深度解析与鸿蒙适配指南
开发语言·git·flutter·华为·rust·自动化·harmonyos
橙露1 小时前
面向对象编程思想:Java 与 Python 的封装、继承与多态对比分析
java·开发语言·python