C# 文件操作完全指南

需积分: 10 7 下载量 154 浏览量 更新于2024-11-01 收藏 52KB DOC 举报
"C#文件操作详细总结" 在C#编程中,文件操作是常见的任务,包括读取、写入、创建、删除文件以及管理文件夹等。本篇将对C#中的文件操作进行详细的总结,旨在帮助开发者更好地理解和运用这些功能。 1. 获取当前程序所在目录 使用`System.IO.Directory.GetCurrentDirectory()`方法可以获取到当前运行的程序所在的目录路径。这个信息对于定位程序的资源文件或保存用户数据时非常有用。 2. 显示指定文件夹下的文件 通过`System.IO.Directory.GetFiles(path)`方法,可以获取指定路径`path`下所有的文件名,并返回一个字符串数组。在示例代码中,首先检查文本框`textBox1`的输入是否为空,如果非空,则清除列表框`listBox1`的内容,并添加获取到的文件名到列表中。 3. 显示指定文件夹下的子文件夹 显示指定文件夹的子文件夹需要使用`System.IO.Directory.GetDirectories(path)`方法,同样返回一个包含子文件夹路径的字符串数组。这里也是先检查输入是否为空,然后清除列表框内容,最后将子文件夹路径添加到列表框中。 4. 获取指定文件夹下的所有子文件夹(包括递归) 若需获取所有子文件夹(包括子文件夹的子文件夹),可以递归调用`GetDirectories()`方法。不过,上述代码并未展示递归实现,需要开发者自定义递归函数来实现这一功能。 5. 同时显示文件和子文件夹 在实际应用中,可能需要同时列出文件和子文件夹。这可以通过结合使用`GetFiles()`和`GetDirectories()`方法实现,分别获取文件和子文件夹后,将它们添加到同一个列表中。 6. 文件读写操作 - `File.WriteAllText(path, content)`用于向指定路径的文件写入字符串`content`,如果文件不存在,会自动创建。 - `File.AppendAllText(path, content)`在文件末尾追加内容。 - `File.ReadAllText(path)`读取整个文件内容为字符串。 - `using (StreamReader reader = new StreamReader(path)) { ... }`用于读取文件,`StreamReader`提供逐行读取的能力。 7. 文件操作异常处理 进行文件操作时,应始终考虑可能出现的异常,如文件不存在、无权限等。可以使用`try-catch`块来捕获并处理这些异常。 8. 文件流操作 C#提供了多种文件流类型,如`FileStream`、`StreamReader`和`StreamWriter`,它们允许更精细的控制文件读写。例如,`FileStream`可处理二进制文件,而`StreamReader`和`StreamWriter`则用于处理文本文件。 9. 文件复制与移动 `File.Copy(sourcePath, destinationPath, overwrite)`用于复制文件,`File.Move(sourcePath, destinationPath)`用于移动文件,`overwrite`参数决定当目标文件已存在时是否覆盖。 10. 文件和文件夹的创建与删除 `File.Create(path)`用于创建新文件,`Directory.CreateDirectory(path)`用于创建新目录。删除文件使用`File.Delete(path)`,删除空文件夹使用`Directory.Delete(path)`,删除包含文件的文件夹需要设置`Directory.Delete(path, true)`的第二个参数为`true`以删除所有内容。 通过理解并熟练掌握上述C#文件操作的方法和技巧,开发者能够轻松地处理各种文件和文件夹任务,提高代码的实用性和可靠性。