`n 在C#中如何读取和写入文件?

在C#中如何读取和写入文件?

Clock Icon 发布时间:2026/10/24 21:09  · 

在NET/" style="text-decoration: none; color: inherit;" title="C#">C#中,读取和写入文件的基本方法有很多种,使用的类和方法也各具特色。最常用的类包括`File`, `StreamReader`, `StreamWriter`, 以及`FileStream`。这些类提供了简单易用的方式来处理文件。使用`StreamReader`可以方便地读取文本文件。创建`StreamReader`实例时,需要传入文件路径。可以通过`ReadLine`方法逐行读取,或通过`ReadToEnd`方法读取整个文件内容。关闭流后,可以确保文件得到妥善释放。使用示例如下:
```csharpusing (StreamReader sr = new StreamReader("example.txt")){ string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); }}```
`StreamWriter`则用于写入文本文件。使用时,同样需要提供文件路径。在写入内容后,调用`flush`方法确保所有数据写入硬盘,并在最后关闭流。这样可以以示例的方式进行文件写入:
```csharpusing (StreamWriter sw = new StreamWriter("output.txt")){ sw.WriteLine("Hello, World!"); sw.WriteLine("This is a test.");}```
当需要处理更复杂的文件操作时,可以使用`FileStream`。这个类提供了对文件的更多控制,如设置读取和写入的字节数。使用`FileStream`可以进行二进制数据的读写操作。示例代码如下:
```csharpusing (FileStream fs = new FileStream("file.bin", FileMode.Create)){ byte[] info = new UTF8Encoding(true).GetBytes("Hello World"); fs.Write(info, 0, info.Length);}```
在处理文件时,注意文件的路径,可以使用相对路径或绝对路径。相对路径是基于程序当前工作目录的,而绝对路径是文件在文件系统中的完整路径。确保文件存在于指定的路径下,避免因路径错误引发异常。异常处理也是不可忽视的一部分,使用`try-catch`块可以捕获并处理文件操作中可能出现的异常。这样可提高程序的健壮性。示例代码对异常处理的实现如下:
```csharptry{ using (StreamReader sr = new StreamReader("example.txt")) { // 读取文件内容 }}catch (FileNotFoundException e){ Console.WriteLine("文件未找到: " + e.Message);}catch (IOException e){ Console.WriteLine("读取文件发生错误: " + e.Message);}```
NET/" style="text-decoration: none; color: inherit;" title="C#">C#中还有其他更多的文件处理方法,例如`File`类中的静态方法。它们可以快速实现文件复制、删除、移动等功能,比如`File.Copy`, `File.Delete`, 和 `File.Move`。使用这些方法可以轻松操作文件系统,满足多种需求。在现代化的应用中,文件处理常常与异步编程相结合。一些方法如`File.ReadAllTextAsync`和`StreamWriter.WriteLineAsync`可以在异步环境下读取和写入文件,从而提高性能并优化用户体验。在进行文件操作时,始终考虑文件访问的安全性与权限,确保程序不会试图读写受保护或只读的文件,这对提高程序的安全性非常重要。通过合理使用NET/" style="text-decoration: none; color: inherit;" title="C#">C#提供的文件操作类,可以高效地处理各种文件需求,满足不同场景下的工作需要。

推荐文章

热门文章