我正在寻找从CSV文件读取数据的最快方法。我尝试过两种不同的方式。
方法1:将CSV文件中的所有行读取到数组中,然后迭代该数组:
String[] csv = File.ReadAllLines(@"E:\be.csv");
for (int i = 0; i < csv.Length; i++)
{
tx.Text = csv[i];
tx.Refresh();
}
方法2 *:使用StreamReader
:
StreamReader sr = new StreamReader(new FileStream(@"E:\be.csv");
while (!sr.EndOfStream)
{
string seg = sr.ReadLine();
tx.Text = sr.ReadLine();
tx.Refresh();
}
使用StreamReader
似乎要快得多。有没有更快的方法可以从CSV文件导入数据?
我必须建议可以在NuGet中找到的CsvHelper。昨天第一次使用它之后,现在将成为我的解决方案。
http://www.nuget.org/packages/CsvHelper/
对于您实际想知道的更快的问题,我可能会说只是在做File.ReadAllLines(...)
,但最好是您实际尝试建立一个测试以对这两个选项进行数百次,然后看看哪个使用时间最长。
另外,不要忘记处理您的StreamReader
。继续并将其包装在using
语句中,以便所有内容都可能被关闭/处置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句