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

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()) != 

相关文章:

  • 【SSL部署与优化​】​​HTTP/2与HTTPS的协同效应
  • OkHttp连接池
  • Spring集成Redis中禁用主机名DNS检测
  • springboot AOP 接口限流(基于IP的接口限流和黑白名单)
  • 在Oracle到GreatSQL迁移中排序规则改变引发的乱码问题分析及解决
  • MySQL--day1--数据库概述
  • 洞若观火 - 服务网格的可观测性魔法 (Istio 实例)
  • 基于 Spring Boot 瑞吉外卖系统开发(十五)
  • STC32G12K12实战:串口通信
  • Vector和list
  • STMCubeMX使用TB6612驱动编码轮并进行测速
  • 102. 二叉树的层序遍历递归法:深度优先搜索的巧妙应用
  • 业务中台-典型技术栈选型(微服务、容器编排、分布式数据库、消息队列、服务监控、低代码等)
  • vue3基础学习 [简单标签] (vscode)
  • 基于 Spring Boot 瑞吉外卖系统开发(十四)
  • OpenCV CUDA模块中逐元素操作------算术运算
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-强化学习算法
  • Vue3指令(二)--v-text、v-html数据渲染,计算属性
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ |搭建项目框架
  • PlantSimulation 隐藏 Frame节点(Structure)的操作方法
  • 互降关税后,从中国至美国的集装箱运输预订量飙升近300%
  • 中科飞测将投资超10亿元,在上海张江成立第二总部
  • 深圳拟出让3宗居住用地,共计用地面积6.77公顷
  • 5吨煤炭“瞬间蒸发”?掺水炭致企业损失千万,腐败窝案曝光
  • 复旦大学与上海杨浦共建市东医院
  • 最高降九成!特朗普签署降药价行政令落地存疑,多家跨国药企股价收涨