C#文件读取行找到项目结束

时间:2012-09-10 16:06:19

标签: c# file readfile

我有一个像这样的文件......

2000,0, <-----ID
0,180000.100,190000.200
1,200000.100,210000.200
2,300000.100,210000.200
3,400000.100,400000.200
2001,0,
0,199999.001,100000.100
1,200000.000,200000.100
...

我可以使用streamreader逐个阅读这些行,但我需要弄清楚如何只为每个ID组获取第一行和最后一行。所以对于上面的例子,我需要......

0,180000.100,190000.200
3,400000.100,400000.200

2 个答案:

答案 0 :(得分:1)

使用行的总长度或逗号数。

你必须将行保存在内存中,因为它是正向读取。

即读取第1行。&lt; = 1逗号?新项目,清除保存。 下一行,保存为“firstItem”变量。 每个后续行,保存为“lastItem”变量,覆盖现有值。

一旦用&lt; = 1逗号点击另一行,请保存两个变量并将其写入永久保存位置或对象。

答案 1 :(得分:0)

您可以尝试逐行检查输入并将其放入List<string>

如:

string str = ReadNextLine();
if(IsANewIDGroupHeader(str)){
  CreateNewIDGroup();
  NewIDGroup.Add(str);
}else{
  OldIDGroup.Add(str);
}