从c#中的文件中读取具有可变数量字段的行

时间:2014-05-01 19:07:25

标签: c#

如果字段不均匀并且您需要知道它何时结束,您如何逐一阅读这些行。

例如:

A;B;C;D 
E;F;G;H;J

' A'是一个人和' B' ,' C'和' D'他是我的朋友。我写的第二行也是如此。我知道我可以用偶数个字段写它,但我认为这是一种更简洁的方法。

谢谢。

2 个答案:

答案 0 :(得分:3)

有两个功能可以让这非常简单:StreamReader.ReadLineString.Split

您使用StreamReader.ReadLine获取整行文字:

string lineOfInput = reader.ReadLine();

然后,您可以拆分分号以获取所有“字段”:

string[] fields = lineOfInput.Split(';');

fields[0]将包含“人”和其他人,他的“朋友”。

在MSDN上查看StreamReaderSplit

答案 1 :(得分:0)

CSV文件看似简单。有关详细信息,请参阅此问题Simple csv reader?

但我只是使用CodeProject的Sebastien Lorion的 Fast CSV Reader

http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader

你所要做的就是设置正确的字段分隔符,你就可以了。它很快,效果很好。它实现了IDataReader,因此它就像普通的.Net数据读取器实现一样。