检查C#中制表符分隔文本文件中的回车\换行符

时间:2017-09-11 18:38:34

标签: c#

我有我认为是新的换行符\回车分页文件,我正在使用C#Stream Reader阅读,请参阅下面的摘录,第二行和第三行实际上是一行包含我所相信的在第二行“NL”之后回车。我已经尝试使用下面的代码来确定是否存在新行\回车,但没有运气。

有人可以帮忙吗?

代码提取

 string line = sr.ReadLine();
 if (line.EndsWith(Environment.NewLine))
 {
    MessageBox.Show("New line detected");
 }

文件摘录

1224    TX68176 FR123   0.2241  2788848 JP31650 B62G7K6 J7618E108   8630
----------
1225    TX68176 NL
----------
128 0.2241  2788848 JP3165000   B62G7K6 J7618E108   8630

1 个答案:

答案 0 :(得分:0)

因为您正在阅读使用ReadLine的行,所以在行尾不会得到Environment.NewLine。你真正的问题是你有一行数据,你可能希望它是一行,分成多行。您获得的异常并非来自您阅读的行中的换行符,并且您不会通过尝试检测换行符来修复它。

问题可能来自你的代码的其余部分,期望行中的字段不存在,因为这部分代码读取的文本数据行只是部分数据行。其余的代码扼杀了没有获得该数据行中的所有字段。要检测到您只有部分数据线,您可能需要检测行长度,因为它似乎是一个固定长度的格式化文件,或者在使用制表符拆分后检测字段数。