我有一个读取文件的方法。该文件大约有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中看到它们太小了。
答案 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
,您可以在处理文件时逐行读取文件。如果性能是一个问题,那么你可以编写简单的工具,首先纠正行结尾。