C#全面掌握:文件与目录操作实战指南

需积分: 10 2 下载量 106 浏览量 更新于2024-07-29 收藏 536KB PDF 举报
"这篇文档详述了C#中进行文件操作的各种方法,涵盖了创建、删除、读取等基本操作,并提供了不同的编码方式和文件处理策略。" 在C#编程语言中,文件操作是常见的任务,涉及到对文件和目录的管理。以下是一些核心知识点: 1. 创建文件夹: 使用`Directory.CreateDirectory`方法可以创建一个新的目录。例如: ```csharp // using System.IO; Directory.CreateDirectory(@"C:\MyNewFolder"); ``` 2. 创建文件: `File.Create`方法用于创建一个新的文件。例如: ```csharp // using System.IO; File.Create(@"C:\MyNewFile.txt"); ``` 3. 删除文件: 使用`File.Delete`来删除指定的文件。 ```csharp // using System.IO; File.Delete(@"C:\MyFile.txt"); ``` 4. 删除文件夹: `Directory.Delete`用于删除一个目录,但请注意,如果目录非空,需设置`recursive`参数为`true`以递归删除所有子目录和文件。 ```csharp // using System.IO; Directory.Delete(@"C:\MyFolder", true); ``` 5. 删除一个目录下的所有文件夹: 这个例子展示了如何遍历目录并删除所有子目录。首先获取目录中的所有子目录,然后逐个删除。 ```csharp // using System.IO; foreach (string dirStr in Directory.GetDirectories(@"C:\MyFolder")) { DirectoryInfo dir = new DirectoryInfo(dirStr); // ... 删除代码 ... } ``` 6. 清空文件夹: 清空文件夹意味着删除所有文件和子目录,然后重新创建该文件夹。这里首先删除目录,然后重新创建。 ```csharp // using System.IO; Directory.Delete(@"C:\MyFolder", true); Directory.CreateDirectory(@"C:\MyFolder"); ``` 7. 读取文件: - 操作系统默认编码:使用`File.OpenText`打开文件并逐行读取。 ```csharp // using System.IO; StreamReader s = File.OpenText(@"C:\MyFile.txt"); string line; while ((line = s.ReadLine()) != null) { // 处理每一行 } s.Close(); ``` - UTF-8编码:通过指定`StreamReader`的编码方式来读取文件。 ```csharp // using System.IO; // using System.Text; StreamReader srFile = new StreamReader(@"C:\MyFile.txt", Encoding.UTF8); while ((string line = srFile.ReadLine()) != null) { // 处理每一行 } srFile.Close(); ``` - 分块读取:对于大文件,可以使用分块读取以避免一次性加载整个文件到内存。 ```csharp // using System.IO; // using System.Text; try { using (FileStream fs = new FileStream(@"C:\MyLargeFile.txt", FileMode.Open)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0) { // 处理缓冲区数据 } } } catch (Exception ex) { // 错误处理 } ``` 以上就是C#中进行文件操作的基本方法,这些操作可以被广泛应用于各种场景,如数据存储、日志记录、配置文件读写等。在实际开发中,还需要考虑错误处理和资源管理,确保程序的稳定性和效率。