我有一个包含以下数据的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)
有更明智的方法可以做到这一点,但这种方法非常简单.
| 归档时间: |
|
| 查看次数: |
2029 次 |
| 最近记录: |