C# 中的文件处理:I/O 操作 [示例]
C# 有大量的文件操作。这些操作包括打开文件、读取或写入文件。在某些情况下,您希望直接处理文件,在这种情况下,您将使用 C# 中可用的文件操作。下面会提到一些基本的文件操作。
- 读取 - 此操作是从文件中读取数据的基本读取操作。
- 写入 - 此操作是将数据写入文件的基本写入操作。默认情况下,会从文件中删除所有现有内容,并写入新内容。
- 追加 - 此操作还涉及将信息写入文件。唯一的区别是文件中的现有数据不会被覆盖。要写入的新数据添加在文件末尾。
在本教程中,您将学习-
- 文件存在
- 文件.ReadAlllines
- 文件.ReadAllText
- 文件. 复制
- 文件. 删除
基本 I/O 命令
C# 和 .Net 可以在几个文件 I/O 命令的帮助下处理文件。让我们看一下其中的一些命令。对于我们的示例,我们假设我们在 D 盘中有一个名为 Example.txt 的文件。
该文件将是一个简单的文本文件,有 2 行,如下所示
- Guru99 – .Net
- Guru99 -C#
对于我们的示例,我们将创建一个简单的控制台应用程序并使用我们的文件 I/O 命令。控制台应用程序是在早期教程中创建的基本应用程序。在控制台应用程序中,所有代码都写入program.cs文件。
文件.存在
File exists 方法用于检查特定文件是否存在。所以现在让我们看看可以用来检查我们的 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(); } } }
代码说明:-
- 首先,我们设置一个字符串变量,其中包含指向我们的 Example.txt 文件的路径。
- 接下来,我们使用 File.Exists 方法来检查文件是否存在。如果文件存在,则返回一个真值。
- 如果我们得到一个真值并且文件确实存在,那么我们将消息“文件存在”写入控制台。
当上面的代码设置好后,使用 Visual Studio 执行项目,你会得到下面的输出。
输出:-
从上面的输出可以看到File.Exists命令执行成功,并且在控制台窗口中显示了正确的信息。
File.ReadAlllines
该方法用于逐行读取文件中的所有行。然后将这些行存储在字符串数组变量中。让我们看一个例子。在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(); } } }
代码说明:-
- 首先,我们声明一个字符串数组变量。这将用于存储将由 File.ReadAllLines 方法返回的结果。
- 接下来,我们使用 File.ReadAllLines 方法从我们的文本文件中读取所有行。然后将结果传递给 lines 变量。
- 由于我们知道我们的文件只包含 2 行,我们可以通过 lines[0] 和 lines[1] 命令访问数组变量的值。
当上面的代码设置好后,使用 Visual Studio 运行项目,你会得到下面的输出。
输出:-
从输出中,您可以看到 File.ReadAllLines 命令从我们的文件 Example.txt 中返回了这两行
文件.ReadAllText
此方法用于一次读取文件中的所有行。然后将这些行存储在一个字符串变量中。让我们看一个例子。在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(); } } }
代码说明:-
- 首先,我们声明一个名为 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(); } } }
代码说明:-
- 首先,我们声明一个名为 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(); } } }
代码说明:-
- 首先,我们声明一个名为 path 的字符串变量。这将是我们的 Example.txt 文件的位置。这是将被删除的文件。
- 接下来,我们调用 File.Delete 方法来删除文件。
当上面的代码设置好,使用Visual Studio运行项目后,D盘中的Example.txt文件就会被删除。
总结
- C# 有许多可以对文件执行的文件操作。大多数这些操作都是 File 类的一部分。
- 如果要从文件中读取数据,可以使用 File.ReadAlltext 或 File.ReadAllLines 方法。
C语言