Если у вас есть файл csv, данные которого будут время от времени увеличиваться. Теперь мне нужно прочитать последние 30 000 строк.Прочтите последние 30 000 строк файла
Код:
string[] lines = File.ReadAllLines(Filename).Where(r => r.ToString() != "").ToArray();
int count = lines.Count();
int loopCount = count > 30000 ? count - 30000 : 0;
for (int i = loopCount; i < lines.Count(); i++)
{
string[] columns = lines[i].Split(',');
orderList.Add(columns[2]);
}
Он работает нормально, но проблема в том,
File.ReadAllLines(Filename)
Читать полный файл, который вызывает производительность отсутствие. Я хочу, чтобы что-то вроде этого читало только последние 30 000 строк, которые итерации через полный файл.
PS: Я использую .Net 3.5. Files.ReadLines() не существует в .Net 3.5
http://stackoverflow.com/questions/4619735/how-to-read-last-n-lines-of-log-file http://stackoverflow.com/questions/398378/get-last-10 -line-of-very-large-text-file-10gb-c-sharp/398512 # 398512 – Ofiris