C# 中的文件处理: I/O Operations [示例]
⚡ 智能摘要
C# 文件操作允许您使用 System.IO 命名空间读取、写入、复制和删除文件。本文将通过清晰的代码示例,教您如何使用 File.Exists、File.ReadAllLines、File.ReadAllText、File.Copy 和 File.Delete 方法。
C# 具有多种文件操作。这些操作包括打开文件、读取或写入文件。有时您可能希望直接处理文件,在这种情况下,您可以使用 C# 中可用的文件操作。下面提到了一些基本的文件操作。
- 读取——此操作是从文件读取数据的基本读取操作。
- 写入 – 此操作是将数据写入文件的基本写入操作。默认情况下,将从文件中删除所有现有内容,并写入新内容。
- 附加 – 此操作也涉及将信息写入文件。唯一的区别是不会覆盖文件中的现有数据。要写入的新数据将添加到文件末尾。
基础 I/O 命令
C# 和 .Net 可以借助多个文件 I/O 命令来处理文件。让我们来看看其中一些命令。在我们的示例中,我们假设 D 盘中有一个名为 Example.txt 的文件。
该文件将是一个简单的文本文件,包含 2 行,如下所示
- Guru99 – .Net
- Guru99 -C#
为了举例,我们将创建一个简单的控制台应用程序并使用我们的文件 I/O 命令。控制台应用程序是前面教程中创建的基本应用程序。在控制台应用程序中,所有代码都写入 program.cs 文件。
文件已存在
File exist 方法用于检查特定文件是否存在。现在让我们看看可用于检查我们的 Example.txt 文件是否存在的代码。在 program.cs 文件中输入以下代码。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; if (File.Exists(path)) { Console.WriteLine("File Exists"); } Console.ReadKey(); } } }
Code 解释:-
- 首先,我们设置一个字符串变量,其中包含我们的 Example.txt 文件的路径。
- 接下来,我们使用 File.Exists 方法来检查文件是否存在。如果文件存在,则返回真值。
- 如果我们得到一个真值并且文件确实存在,那么我们会将消息“文件存在”写入控制台。
当设置了上述代码并使用 Visual Studio 执行项目时,您将获得以下输出。
输出:-
从上面的输出中,可以看到File.Exists命令执行成功,并且在控制台窗口中显示了正确的消息。
文件.读取所有行
该方法用于逐行读取文件中的所有行。然后将这些行存储在字符串数组变量中。让我们看一个例子。在 program.cs 文件中输入以下代码。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
Code 解释:-
- 首先,我们声明一个字符串数组变量。这将用于存储 File.ReadAllLines 方法返回的结果。
- 接下来,我们使用 File.ReadAllLines 方法从文本文件中读取所有行。然后将结果传递给 lines 变量。
- 由于我们知道我们的文件只包含 2 行,我们可以通过 lines[0] 和 lines[1] 命令访问数组变量的值。
设置上述代码后,使用以下方法运行项目 Visual Studio中,你将获得以下输出。
输出:-
从输出中,你可以看到 File.ReadAllLines 命令返回了文件 Example.txt 中的两行
文件.读取所有文本
此方法用于一次性读取文件中的所有行。然后将这些行存储在字符串变量中。让我们看一个例子。在 program.cs 文件中输入以下代码。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
Code 解释:-
- 首先,我们声明一个名为 Lines 的字符串变量。这将用于存储 File.ReadAllText 方法返回的结果。
- 接下来,我们使用 File.ReadAllText 方法从文本文件中读取所有行。然后将结果传递给 lines 变量。
- 我们可以直接使用Console.Writeline方法来显示Lines变量的值。
当设置了上述代码并使用 Visual Studio 运行项目时,您将获得以下输出。
输出:-
从输出中,你可以看到 File.ReadAlltext 命令返回了文件 Example.txt 中的两行
文件.复制
该方法用于复制现有文件。我们来看一个例子。在 program.cs 文件中输入以下代码。
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String copypath = @"D:\ExampleNew.txt"; File.Copy(path,copypath); Console.ReadKey(); } } }
Code 解释:-
- 首先,我们声明一个名为 path 的字符串变量。这将是我们的 Example.txt 文件的位置。此文件将是用于复制操作的源文件。
- 接下来,我们声明一个名为 copypath 的字符串变量。这将是名为 ExampleNew.txt 的新文件的位置。这将是从源文件 Example.txt 写入内容的目标文件。
- 然后我们调用File.Copy方法将文件Example.txt文件复制到文件ExampleNew.txt。
当设置了上述代码并使用Visual Studio运行项目时,文件Example.txt将被复制到ExampleNew.txt。
文件.删除
该方法用于删除一个已有的文件。我们来看一个例子。在program.cs文件中输入下面的代码。
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; File.Delete(path); Console.ReadKey(); } } }
Code 解释:-
- 首先,我们声明一个名为 path 的字符串变量。这将是我们的 Example.txt 文件的位置。这是将被删除的文件。
- 接下来,我们调用 File.Delete 方法来删除文件。
当设置了上述代码并使用Visual Studio运行项目时,文件Example.txt将从D盘中删除。
C# 文件方法参考
下表总结了主要的 C# 文件方法及其各自的功能。
| 文件方法 | 描述 |
|---|---|
| 文件已存在 | 文件存在方法用于检查特定文件是否存在。 |
| 文件.读取所有行 | 该方法用于逐行读取文件中的所有行。 |
| 文件.读取所有文本 | 此方法用于一次读取文件中的所有行。 |
| 文件.复制 | 该方法用于复制现有文件。 |
| 文件.删除 | 该方法用于删除一个现有的文件。 |









