文本解析选项卡分隔文件

时间:2011-10-10 21:36:40

标签: c# parsing

我有一个读取文件的方法。该文件大约有30000行。但是,当我将其读入数组时,我得到了一个随机长度的数组。我已经看到它低6000。

我用过两个

string[] lines = System.IO.File.ReadAllLines(@"C:\out\qqqqq.txt");

System.IO.StreamReader file = new System.IO.StreamReader(@"C:\out\qqqqq.txt");

(并使用计数器。)

但我得到了同样的结果。我可以在Excel中看到它们太小了。

1 个答案:

答案 0 :(得分:1)

如果文件中的行结尾不一致(有时为\n,有时为\r\n,有时为\r),那么您可以尝试将整个文件作为字符串读取并自行拆分:

string file = System.IO.File.ReadAllText(@"C:\out\qqqqq.txt");
var lines = file.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

对于大文件,这是低效的,因为它需要读取整个文件 - 使用StreamReader,您可以在处理文件时逐行读取文件。如果性能是一个问题,那么你可以编写简单的工具,首先纠正行结尾。