C#使用BinaryWriter类写入二进制文件1
System.IO命名空间提供了BinaryReader类和BinaryWriter类,用来完成读写二进制数据的操作,但是这两个类本身并不执行流,而是提供其他对象流的包装。
写入二进制文件:
BinaryWriter类用于从C#变量向指定流写入二进制数据,该类可以把C#数据类型转换成可以写到底层流的一系列字节。
BinaryWriter类常用方法:
Write方法:将值写入流,有很多重载版本,适用于不同的数据类型。
Flush方法:清除缓存区。
Close方法:关闭数据流。
下面介绍的C#本地读写二进制文件,二进制文件指保存在物理磁盘的一个文件。
第一步:读写文件转成流对象。其实就是读写文件流(FileStream对象,在System.IO命名空间中)。
File、FileInfo、FileStream这三个类可以将打开文件,并变成文件流。下面是引用微软对File、FileInfo、FileStream的介绍:
System.IO.File类 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。
System.IO.FileInfo类 提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。无法继承此类。
System.IO.FileStream类 公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。
第二步:读写流。读写二进制文件用System.IO.BinaryReader和System.IO.BinaryWriter类;读写文本文件用System.IO.TextReader和System.IO.TextWriter类。
BinaryWriter类将二进制数据写入文件示例:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[]args)
{
Console.WriteLine("请输入文件名:");
string filename = Console.ReadLine(); //获取输入文件名
FileStream fs; //声明FileStream对象
try
{
fs = new FileStream(filename, FileMode.Create); //初始化FileStream对象
BinaryWriter bw = new BinaryWriter(fs); //创建BinaryWriter对象
//写入文件
bw.Write('a');
bw.Write(123);
bw.Write(456.789);
bw.Write("Hello World!");
Console.WriteLine("成功写入");
bw.Close(); //关闭BinaryWriter对象
fs.Close(); //关闭文件流
}
catch (IOException ex)
{
Console.WriteLine(ex.Message);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架