C# 文件

C# 提供了 File 类,用于执行各种操作,例如创建文件、打开文件、读写文件等。


什么是文件和目录?

文件是用于存储相关信息的命名位置。例如,

program.cs 是一个 C# 文件,其中包含有关 C# 程序的信息。

目录是文件和子目录的集合。目录中的目录称为子目录。


在 C# 中处理文件

C# 提供了 System.IO 命名空间,其中包含几个用于对文件和目录执行操作的类。

classes under system.io namespace that works with files and dictionaries
System.IO 命名空间下的一些类

上图显示了 System.IO 命名空间下的一些类。在这些类中,我们将学习 File 类及其处理 C# 文件的方法。


C# File 类及其方法

File 类提供了内置方法,允许我们对文件执行输入/输出操作。一些常用的方法是

方法 用途
Create() 在指定路径创建或覆盖文件。
Open() 在指定路径打开一个具有读/写访问权限的 FileStream
WriteAllText() 创建新文件,将指定的字符串写入文件,然后关闭文件。
ReadAllText() 打开文本文件,读取文件的所有行,然后关闭文件。
Copy() 将现有文件复制到新文件。不允许覆盖同名文件。
AppendAllText() 打开文件,将指定的字符串追加到文件,然后关闭文件。如果文件不存在,此方法将创建文件,将指定的字符串写入文件,然后关闭文件。

在 C# 中创建文件

我们使用 File 类的 Create() 方法在 C# 中创建新文件。例如,

// create a file at pathName
FileStream fs = File.Create(pathName);

在这里,File 类在 pathName 创建一个文件。

注意:如果文件已存在,Create() 方法会覆盖该文件。


示例:创建文件

using System;
using System.IO;
class Program
{
    static void Main()
    {
        // path of the file that we want to create
        string pathName = @"C:\Program\myFile.txt";

// Create() creates a file at pathName FileStream fs = File.Create(pathName);
// check if myFile.txt file is created at the specified path if (File.Exists(pathName)) { Console.WriteLine("File is created."); } else { Console.WriteLine("File is not created."); } } }

输出

File is created.

在上面的示例中,我们使用 Create() 方法在 C:\Program 目录下创建了一个名为 myFile.txt 的文件。

创建文件后,请注意我们使用了 Exists() 方法来检查 myFile.txt 文件是否存在。

注意: "C:\Program\myFile.txt" 前面的 "@" 表示这是一个逐字字符串。我们使用逐字字符串来告知编译器忽略转义字符 \


打开文件

我们使用 File 类的 Open() 方法在 C# 中打开现有文件。该方法在指定文件上打开一个 FileStream。例如,

using System;
using System.IO;
class Program
{
    static void Main()
    {
        string pathName = @"C:\Program\myFile.txt";

// open a file at pathName FileStream fs = File.Open(pathName, FileMode.Open);
} }

在上面的示例中,请注意代码,

// opens the file at pathName
FileStream fs = File.Open(pathName, FileMode.Open);

在这里,Open() 方法打开了 myFile.txt 文件。其中,FileMode.Open 指定 - 打开现有文件

注意:文件流是用于保存文件数据的字节序列。每个文件至少包含一个文件流。


写入文件

我们使用 File 类的 WriteAllText() 方法向文件写入内容。该方法创建一个新文件并将内容写入该文件。

让我们看一个在 C# 中向文件写入内容的示例。

using System;
using System.IO;
class Program
{
    static void Main()
    {
        string pathName = @"C:\Program\myFile.txt";

// create a file at pathName and write "Hello World" to the file File.WriteAllText(pathName, "Hello World");
} }

在上面的示例中,请注意代码,

File.WriteAllText(pathName, "Hello World");

在这里,WriteAllText() 方法在 C:\Program 目录下创建了 myFile.txt,并将 "Hello World" 写入该文件。

the method writes text in a file
在文件中写入文本

上图显示了包含文本 "Hello World"myFile.txt 文件。

注意:如果文件已存在,WriteAllText() 方法会覆盖该文件。


在 C# 中读取文件

我们使用 File 类的 ReadAllText() 方法来读取文件的内容。该方法返回一个包含指定文件中所有文本的字符串。

让我们读取我们写入了 "Hello World"myFile.txt 文件的内容。

using System;
using System.IO;
class Program
{
    static void Main()
    {
        string pathName = @"C:\Program\myFile.txt";

// read the content of myFile.txt file string readText = File.ReadAllText(pathName);
Console.WriteLine(readText); } }

输出

Hello World

在上面的示例中,请注意代码,

// read the content of myFile.txt file
string readText = File.ReadAllText(pathName);

ReadAllText() 方法读取 myFile.txt 文件并返回 "Hello World"

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战