2014-03-28 120 views
0

当前我正在逐行读取制表符分隔的文件,拆分每行中的项目并查找包含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 
    } 
} 

回答

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); 
} 
+0

@短跑运动员的变量值指向基于字符串的内容就行了。现在我需要从现在开始一行一行地继续阅读并拆分并添加到数据表中。 – Shrivatsan

相关问题