📜  从文本文件中删除行 - C# (1)

📅  最后修改于: 2023-12-03 15:36:18.933000             🧑  作者: Mango

从文本文件中删除行 - C#

在 C# 中,删除文本文件中的特定行可以通过以下步骤实现:

  1. 使用 System.IO 命名空间中的 StreamReader 类读取文件。
  2. 将文件内容逐行读取到字符串数组中。
  3. 使用 System.IO 命名空间中的 StreamWriter 类重写文件,但跳过要删除的行。
  4. 关闭流。

下面是一个示例代码,可用于从文本文件中删除特定行。请注意,此示例代码假设该文件行数较少,因为它将整个文件读取到内存中。如果文件很大,则需要使用其他方法。

using System.IO;

string file = "myfile.txt"; // 要从中删除行的文件
int lineToDelete = 3; // 要删除的行数

// 读取文件中的所有行
string[] lines = File.ReadAllLines(file);

// 创建一个新文件,跳过要删除的行
using (StreamWriter writer = new StreamWriter(file))
{
    for (int i = 0; i < lines.Length; i++)
    {
        if (i != lineToDelete - 1) // 数组从零开始索引,所以要减去1
        {
            writer.WriteLine(lines[i]);
        }
    }
}

// 关闭流
writer.Close();

此代码片段使用了 C# 中的 System.IO 命名空间,其中包含 StreamReader 和 StreamWriter 类。StreamReader 类用于读取文件,而 StreamWriter 类用于重写文件。

要读取整个文件,我们使用 File.ReadAllLines 方法将文本文件中的所有行读取到字符串数组中。我们可以在数组中遍历每一行,并使用 StreamWriter 类将其写入文件中,但对于要删除的行,我们只需跳过它。

最后,我们使用流的 Close 方法关闭流。