在txt文件中添加一行

Rob*_*elo 1 c#

我有一个包含以下数据的txt文件:

:10FF800000040B4E00040B4E00047D1400047D148D
:10FF900000040B4E0004CF6200040B4E00040B4E15
:10FFA00000040B4E00040B4E00040B4E00040B4EDD
:10FFB00000047D1400047D1400047D1400047D14ED
:10FFC00000040B4E000000000000000000000000D4
:10FFD0000000000000040B4E0000000000000000C4
:10FFE0000000000000000000000000000000000011
:10FFF0000000000000000000060000000000BFF844
:020000020000FC
:020000040014E6
:043FF0005AC8A58C7A
:00000001FF
Run Code Online (Sandbox Code Playgroud)

我想用C#程序做的是在特定行之后或之前添加一行,让我们说添加行:

:020000098723060
Run Code Online (Sandbox Code Playgroud)

在此之前:

:020000020000FC
Run Code Online (Sandbox Code Playgroud)

我尝试过使用File.ReadLines("file.txt").Last(); 但这只是给了我最后一个,如果我想要第三个或第四个怎么办?还有,有什么方法可以识别文件中的":"吗?

Jon*_*eet 11

在最简单的方式-如果你乐意阅读整个文件到内存-将只是:

public void InsertLineBefore(string file, string lineToFind, string lineToInsert)
{
    List<string> lines = File.ReadLines(file).ToList();
    int index = lines.IndexOf(lineToFind);
    // TODO: Validation (if index is -1, we couldn't find it)
    lines.Insert(index, lineToInsert);
    File.WriteAllLines(file, lines);
}

public void InsertLineAfter(string file, string lineToFind, string lineToInsert)
{
    List<string> lines = File.ReadLines(file).ToList();
    int index = lines.IndexOf(lineToFind);
    // TODO: Validation (if index is -1, we couldn't find it)
    lines.Insert(index + 1, lineToInsert);
    File.WriteAllLines(file, lines);
}
Run Code Online (Sandbox Code Playgroud)

有更明智的方法可以做到这一点,但这种方法非常简单.