20.1 文件与目录操作
File 类
1 | // 写入文件 |
Directory 类
1 | // 创建目录 |
20.2 Path 类
1 | string path = @"C:\Users\Alice\Documents\file.txt"; |
20.3 StreamReader 与 StreamWriter
StreamWriter
1 | // 写入 |
StreamReader
1 | // 读取 |
20.4 FileStream
1 | // 写入二进制 |
20.5 JSON 序列化
System.Text.Json
1 | using System.Text.Json; |
Newtonsoft.Json(第三方)
1 | using Newtonsoft.Json; |
20.6 XML 序列化
1 | using System.Xml.Serialization; |
20.7 using 语句
传统写法
1 | using (var reader = new StreamReader("file.txt")) |
C# 8+ using 声明
1 | using var reader = new StreamReader("file.txt"); |
20.8 实用示例
目录遍历
1 | void PrintDirectoryTree(string dir, string indent = "") |
配置文件读取
1 | // 简单的配置读取 |
20.9 本章小结
File和Directory提供静态文件操作Path处理路径拼接和解析StreamReader/StreamWriter读写文本FileStream支持二进制读写- JSON 序列化推荐
System.Text.Json - XML 序列化使用
XmlSerializer using语句确保资源释放
练习题
- 编写程序统计文本文件的行数和单词数
- 将对象列表序列化为 JSON 文件并读取
- 递归复制整个目录结构
- 以下代码输出什么?
1
2string path = @"C:\Users\a.txt";
Console.WriteLine(Path.GetFileNameWithoutExtension(path));