这门课讲的是 C# 里最常用的一类操作:读写文件、遍历目录、处理路径,以及把对象保存成文件再读回来。它不涉及界面或网络,内容集中在 System.IO 命名空间下的几个核心类上。如果你写程序时遇到过“把数据存到本地”“读取一个配置文件”“批量重命名文件”这类需求,但又搞不清该用 File 还是 FileStream、该用 StreamWriter 还是 File.WriteAllText,那这门课正好能把这些概念理顺。

它解决什么问题

很多零基础学完语法后,写练习程序都是内存里跑一遍,关掉窗口数据就没了。真正做工具、写小系统,几乎绕不开“持久化”这一步。这门课把 C# 里文件操作的几种典型方式拆开讲:先讲静态的 File 类和 Directory 类,适合快速完成单次操作;再讲实例化的 FileInfo 和 DirectoryInfo,适合对同一个文件或目录做多次操作;然后深入 FileStream,让你理解字节流怎么读写,为什么需要缓冲区;接着是 StreamWriter 和 StreamReader,处理文本时更省心;最后补充 Path 类处理路径拼接、BufferedStream 提升性能,以及序列化反序列化把对象直接存成文件。学完你能区分不同场景该用哪个类,而不会一上来就写一堆 try-catch 却不知道底层发生了什么。

适合什么基础

课程标题里写了“零基础”,但实际内容要求你已经掌握 C# 的基本语法。至少要理解类、对象、属性、方法、构造函数这些概念,知道 using 指令和命名空间是什么意思。如果连 for 循环和 if 都还没写过,建议先补上基础语法再来看。课程里的每个类都配有示例代码,讲解偏重使用方式而非底层原理,所以只要你能跟着敲出代码并看到运行结果,就基本能跟上。对于完全没接触过文件流、二进制和编码的初学者,前几节关于流和文件流概念的铺垫很重要,不要跳过。

建议先看哪几块

如果你是第一次接触文件操作,建议按顺序看,但可以分两步。第一步先看第 1 节到第 5 节,把“流”的概念建立起来,然后重点掌握 File 类和 Directory 类的常用方法。这两个类最直观,能立刻解决“新建文件”“复制文件”“判断文件夹是否存在”这类问题。第二步再看第 6 节到第 8 节,理解 FileStream 是如何一个字节一个字节地读写的,为什么读文本文件时会出现乱码。这两步走完,你已经能应付大部分日常需求。后面的 StreamWriter、StreamReader、Path、BufferedStream 和序列化,可以在实际用到时再回头细看,不必一口气全部记住。

学完能独立做什么

学完这门课,你能够独立写一个控制台程序:读取指定目录下所有文本文件的内容,按行合并后保存到新文件;或者把用户输入的信息序列化成 JSON 或二进制文件,下次启动时再反序列化回来。你也能理解文件复制时为什么有大文件和小文件的区别,以及如何用缓冲区减少磁盘读写次数。更进一步,你可以自己实现一个简单的日志记录器,把程序运行信息追加写入本地文件。这些能力不是背 API 得来的,而是建立在对流、编码和路径处理的理解之上。

资料怎么配合练习

课程里每个类都有演示代码,建议不要只看,而是每学完一节就新建一个控制台项目,把示例代码敲一遍。尤其注意 FileStream 的构造函数参数:文件路径、文件模式、访问权限,这三项最容易写错。练习时可以故意把 FileMode.Create 改成 Append,观察结果差异。对于 StreamWriter 和 StreamReader,一定要试一下不调用 Close 或 Dispose 会有什么后果,理解 using 语句的作用。序列化和反序列化那节,建议自己定义一个简单的类,存几个字段,然后保存到文件再读出来,对比对象是否一致。最后把课程总结里的习题做一遍,你会发现这些类之间其实是互相配合的,而不是孤立的知识点。资料包里没有额外的练习文件,所以你需要自己动手造数据,比如准备几个文本文件和一个多级子目录,用来测试 Directory 和 DirectoryInfo 的遍历功能。

课程目录

课程目录15 集
  • 1 流和文件流概念及常用文件操作类 (04:34).mp4
  • 2 File类 (20:16).mp4
  • 3 FileInfo类 (07:52).mp4
  • 4 Directory类 (08:36).mp4
  • 5 DirectoryInfo类 (14:49).mp4
  • 6 FileStream类读取文件 (14:55).mp4
  • 7 FileStream类写入文件 (09:42).mp4
  • 8 文件复制 (09:33).mp4
  • 9 StreamWriter类 (10:44).mp4
  • 10 StreamReader类 (05:38).mp4
  • 11 用StreamWriter、StreamReader进行文件 (09:17).mp4
  • 12 Path类 (11:42).mp4
  • 13 BufferedStream类 (15:28).mp4
  • 14 序列化和反序列化 (08:31).mp4
  • 15 课程总结与习题讲解 (14:34).mp4