目前我正在逐行读取制表符分隔文件,拆分每行中的项目,并通过硬编码值50查找带有50个项目的制表符分隔行,然后创建 数据表。
问题:面对 - 制表符分隔的源文件在分割后有时带有制表符分隔的行,有时会有50或53个项目。需要直接读取在制表符分隔的源文件中具有最大制表符分隔符的行,然后继续我的逻辑。
我的C#代码
using (var sr = new StreamReader(sourceFileFullName))
{
string line = null;
while ((line = sr.ReadLine()) != null)
{
var items = line.Split(new[] { '\t', '\n' }).ToArray();
if (items.Length != 50)
continue;
//Rest of my code to create datatable for the items after splitting in tab delimitedline
}
}
答案 0 :(得分:1)
您可以使用以下代码段
string content = "";
using (var reader = new StreamReader("C:\\temp\\abc.txt"))
{
content = reader.ReadToEnd();
}
if (!string.IsNullOrEmpty(content))
{
var value = content.Split('\n').OrderByDescending(y => y.Split('\t').Count()).Take(1);
}