我有一个关于从文本日志文件转换的数组的读取序列的问题.
由于在第一行[0]中的过程中我不需要读取文件头,是否有任何方法可以跳过读取行[0]并首先开始读取行[1]?
该程序利用foreach循环读取数组.并且有一种标记化方法,因此标记化需要foreach循环来重新调整数组的String格式.
请通过建议代码帮助!谢谢!
程序代码:
class Program
{
static void Main(string[] args)
{
System.Collections.Generic.IEnumerable<String> lines = File.ReadLines("C:\\syscrawl\\ntfs3.txt");
foreach (String r in lines) //Start reading from lines[1] first instead?
{
String[] token = r.Split(',');
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你需要日志文本文件,这里是一个例子:
Date,Size,Type,Mode,UID,GID,Meta,File Name // Lines[0]
Sun Jul 22 2001 02:37:46,73882,...b,r/rrwxrwxrwx,0,0,516-128-3,C:/WINDOWS/Help/digiras.chm // Lines [1]
Sun Jul 22 2001 02:44:18,10483,...b,r/rrwxrwxrwx,0,0,480-128-3,C:/WINDOWS/Help/cyycoins.chm
Sun Jul 22 2001 02:45:32,10743,...b,r/rrwxrwxrwx,0,0,482-128-3,C:/WINDOWS/Help/cyzcoins.chm
Sun Jul 22 2001 04:26:14,174020,...b,r/rrwxrwxrwx,0,0,798-128-3,C:/WINDOWS/system32/spool/drivers/color/kodak_dc.icm
Run Code Online (Sandbox Code Playgroud)
使用跳过扩展方法.例如
foreach (String r in lines.Skip(1)) //Start reading from lines[1] first instead
{
String[] token = r.Split(',');
}
Run Code Online (Sandbox Code Playgroud)
如果要检查行而不是依赖计数,可以使用SkipWhile.例如
foreach (String r in lines.SkipWhile(l => l.StartsWith(HeaderInfo))
{
String[] token = r.Split(',');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |