如果文件不是太大,您可以尝试ReadAllLines.
这会将整个文件读入字符串数组,其中每一行都是数组的一个元素.
例:
var fileName = @"C:\MyFolder\MyFileName.txt";
var contents = System.IO.File.ReadAllLines(fileName);
Console.WriteLine("Line: 10: " + contents[9]);
Console.WriteLine("Number of lines:");
Console.WriteLine(contents.Lenght);
Run Code Online (Sandbox Code Playgroud)
但请注意:这会将整个文件读入内存.
如果文件太大:
打开文件(OpenText),并创建一个Dictionary来存储每一行的偏移量.扫描每一行,并存储偏移量.现在你可以去每一行,你就有了行数.
var lineOffset = new Dictionary<int, long>();
using (var rdr = System.IO.File.OpenText(fileName)) {
int lineNr = 0;
lineOffset.Add(0,0);
while (rdr.ReadLine() != null)) {
lineNr++;
lineOffset.Add(lineNr, rdr.BaseStream.Position);
}
// Goto line 10
rdr.BaseStream.Position = lineOffset[10];
var line10 = rdr.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |