📜  在c#中删除文件中的特定行(1)

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

在C#中删除文件中的特定行

在C#中,我们可以使用一些简单的代码来删除文件中的特定行。以下是一个简单的代码示例,用于演示如何从文件中删除特定行。

示例代码
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string fileName = "example.txt";
        int lineNumber = 2;

        List<string> lines = new List<string>();
        using (StreamReader reader = new StreamReader(fileName))
        {
            string line;
            int currentLine = 1;
            while ((line = reader.ReadLine()) != null)
            {
                if (currentLine != lineNumber)
                {
                    lines.Add(line);
                }
                currentLine++;
            }
        }

        using (StreamWriter writer = new StreamWriter(fileName))
        {
            foreach (string line in lines)
            {
                writer.WriteLine(line);
            }
        }
    }
}
代码解释

此代码中的 Main 方法删除了 example.txt 文件的第二行。您可以更改 fileNamelineNumber 变量来指定要处理的文件和要删除的行号。

此代码使用 StreamReader 读取文件内容,并将其存储在 List<string> 中。然后使用 StreamWriter 将修改后的内容写回到文件中。

为了删除特定行,我们必须在读取文件时跳过目标行,将其余行添加到 List<string> 中。然后,我们可以使用 StreamWriterList<string> 中的所有行写回到文件中,从而实现删除目标行的目的。

注意事项
  • 在使用 StreamReaderStreamWriter 时,请确保正确的文件路径。如果文件不存在,将会出现异常。
  • 代码示例中的删除方法基于行号。如果您需要基于其他条件删除行,请根据需要调整代码。
结论

如上所述,您可以使用一些简单的代码在C#中删除文件中的特定行。这里我们使用了 StreamReaderStreamWriter 对文件进行读取和写入,同时使用 List<string> 存储文件内容以保留文件的完整性。