📅  最后修改于: 2023-12-03 15:36:18.933000             🧑  作者: Mango
在 C# 中,删除文本文件中的特定行可以通过以下步骤实现:
下面是一个示例代码,可用于从文本文件中删除特定行。请注意,此示例代码假设该文件行数较少,因为它将整个文件读取到内存中。如果文件很大,则需要使用其他方法。
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 方法关闭流。