当前位置: 首页 > web >正文

C#高级编程:IO和序列化

在 C# 编程中,输入输出(IO)和序列化是两个至关重要的概念,它们为数据的存储、读取以及在不同环境间的传输提供了强大的支持。无论是开发小型应用程序,还是构建复杂的企业级系统,深入理解并熟练运用 IO 和序列化技术都是必不可少的。​

一、C# 中的 IO 基础​

1、文件流(FileStream)​

文件流是 C# 中用于处理文件 IO 的基础类,它提供了一种以字节为单位读写文件的方式。通过 FileStream 类,我们可以打开、读取、写入和关闭文件。

// 创建一个FileStream对象用于写入文件
using (FileStream fs = new FileStream("test.txt", FileMode.Create))
{string content = "Hello, World!";byte[] data = Encoding.UTF8.GetBytes(content);fs.Write(data, 0, data.Length);
}// 创建一个FileStream对象用于读取文件
using (FileStream fs = new FileStream("test.txt", FileMode.Open))
{byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0){string readContent = Encoding.UTF8.GetString(buffer, 0, bytesRead);Console.Write(readContent);}
}

在上述代码中,FileMode.Create表示如果文件不存在则创建新文件,如果存在则覆盖原有内容;FileMode.Open用于打开已有的文件进行读取操作。使用using语句可以确保文件流在使用完毕后被正确释放资源。​

2、流读取器和写入器(StreamReader 和 StreamWriter)​

虽然 FileStream 提供了字节级别的操作,但在处理文本文件时,StreamReader 和 StreamWriter 更为方便,它们可以直接处理字符串。

// 使用StreamWriter写入文本文件
using (StreamWriter sw = new StreamWriter("test.txt"))
{sw.WriteLine("This is a line of text.");sw.WriteLine("Another line.");
}// 使用StreamReader读取文本文件
using (StreamReader sr = new StreamReader("test.txt"))
{string line;while ((line = sr.ReadLine()) != 
http://www.xdnf.cn/news/6290.html

相关文章:

  • linux内核主要由哪五个模块构成?
  • ultralytics 中的 RT-DETR 之 模型结构解析
  • 【python机器学习】Day 25 异常处理
  • 吴恩达机器学习笔记:多变量梯度下降
  • Permission Denied Error on Port 6277 When Starting MCP
  • 彻底解决QT5 中文编译不过问题
  • HCIP-Datacom Core Technology V1.0_1认识网络设备
  • 【unity游戏开发——编辑器扩展】EditorWindow自定义unity窗口拓展
  • AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
  • Spring Boot拦截器详解:原理、实现与应用场景
  • centos7忘记root密码后使用单用户模式重置
  • 算法备案如何判断自己的产品是否具备舆论属性
  • LeetCode100.5 盛最多水的容器
  • Linux系统之----基础IO
  • 亚马逊电商广告革命:当AI推荐沦为红海陷阱,中国卖家如何破局?
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月14日第77弹
  • 最短路与拓扑(2)
  • vim启动的时候,执行gg
  • 现场维护三重四极杆质谱系统和四极杆清洗方法,确保所有目标化合物的可靠性检测
  • 牛顿均差知识
  • 写作--简单句基础练习
  • AI时代的弯道超车之第九章:AI如何改变传统教育模式
  • C PRIMER PLUS——第10节:结构体、共用(同)体/联合体
  • 字符串检索算法:KMP和Trie树
  • React学习———useEffect和useLayoutEffect
  • 数据防泄密安全:企业稳健发展的守护盾
  • 安卓开饭-ScrollView内嵌套了多个RecyclerView,只想与其中一个RecyclerView有联动
  • Kite AI 自动机器人部署教程
  • 使用深度学习预训练模型检测物体
  • MQTT 在Spring Boot 中的使用