二进制文件的读写,当前时间写入到dat文件中,可以读入读出.C#源代码



在C#编程中,二进制文件的读写是一项基础且重要的操作,它涉及到计算机内存与硬盘之间的数据交互。本文将深入探讨如何使用C#进行二进制文件的读写,以及如何将当前时间写入到.dat文件中,并能够正确读取出来。 我们来看二进制文件的读写过程。在C#中,`System.IO`命名空间提供了`BinaryWriter`和`BinaryReader`两个类,用于进行二进制文件的操作。`BinaryWriter`用于写入二进制数据,而`BinaryReader`则用于读取这些数据。 1. **二进制文件的写入**: 使用`BinaryWriter`,你可以将各种类型的数据(如整数、浮点数、字符串等)写入到二进制文件中。你需要创建一个`FileStream`对象,指定要写入的文件路径。然后,通过`FileStream`实例化`BinaryWriter`。例如: ```csharp using (FileStream fs = new FileStream("data.dat", FileMode.Create)) using (BinaryWriter bw = new BinaryWriter(fs)) { // 写入当前时间 DateTime now = DateTime.Now; bw.Write(now.ToBinary()); } ``` 这段代码会创建一个名为"data.dat"的文件,并将当前时间(`DateTime.Now`)转换为二进制值写入文件。 2. **二进制文件的读取**: 要从二进制文件中读取数据,我们需要使用`BinaryReader`。同样地,先创建`FileStream`,然后通过`FileStream`实例化`BinaryReader`。读取数据时,使用对应的`Read`方法。比如读取之前写入的时间: ```csharp using (FileStream fs = new FileStream("data.dat", FileMode.Open)) using (BinaryReader br = new BinaryReader(fs)) { // 读取二进制时间 long binaryTime = br.ReadInt64(); DateTime readTime = DateTime.FromBinary(binaryTime); Console.WriteLine($"读取的时间:{readTime}"); } ``` 这里使用了`ReadInt64`来读取之前写入的二进制时间,因为`DateTime.ToBinary()`返回的是一个`long`类型的值。然后通过`DateTime.FromBinary`将二进制值转换回`DateTime`对象。 在实际应用中,可能需要处理更复杂的数据结构,例如自定义对象。此时,你需要将对象序列化为二进制数据,然后在读取时反序列化。C#提供了`BinaryFormatter`类来实现这个功能。但请注意,`BinaryFormatter`并不适合跨平台或跨版本的序列化,因为它包含了类型信息和运行时环境的依赖。 总结一下,C#中的二进制文件读写涉及以下几个关键步骤: - 创建`FileStream`对象,指定文件路径和操作模式。 - 使用`FileStream`实例化`BinaryWriter`或`BinaryReader`。 - 使用`Write`方法写入数据,使用`Read`方法读取数据。 - 如果需要处理自定义对象,可以使用`BinaryFormatter`进行序列化和反序列化。 在给定的压缩包文件"C#081224-二进制文件的读写"中,可能包含了演示以上概念的完整示例代码,供学习者参考和实践。通过这样的练习,可以加深对二进制文件操作的理解,提升C#编程能力。













































- 1

- 粉丝: 695
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子商务环境下基于ISO27001的企业信息安全管理体系研究.doc
- 2022年WebGIS课程期末考试复习资料.docx
- 项目管理的几点个人体会.docx
- 网络对青少年学生身心健康成长的影响及对策研究样本.doc
- 基于的模拟电子钟单片机课程设计.docx
- (源码)基于Spring Boot和Vue的贪吃蛇对战平台.zip
- 软件系统运维手册.docx
- 如何构建网络环境下的计算机信息安全体系.doc
- 国家开放大学电大《网络营销与策划》机考第二套标准试题及答案.docx
- 计算机图形学实验指导书.doc
- 银行网络安全建设方案书样本.doc
- 巧用Excel确定内含报酬率.doc
- 歌唱比赛评分系统设计(C语言完整版).doc
- 基于网络平台的教育管理流程简介.ppt
- (源码)基于Arduino的LXARDOSCOPE示波器软件.zip
- 健康网络专题知识讲座.pptx



- 1
- 2
- 3
前往页