C # - Streamreader - чтение позиции и запуск с определенной позиции - PullRequest
0 голосов
/ 14 ноября 2018

Сценарий:

  • Я получил .txt файл с 10 строками текста.
  • У меня есть два потоковых считывателя (reader1, reader2).
  • Я хочу, чтобы reader1 читал строки 1-6
  • После этого я хочу, чтобы reader2 прочитал строки 7-10

Поэтому мне нужно получить последнюю позицию ридера1, и я должен запустить ридер2 на той же позиции плюс один.

Возможно ли это с Streamreader? Существуют ли какие-либо "позиции", индексы или что-то подобное, что может помочь мне перемещаться по файлу .txt.

1 Ответ

0 голосов
/ 14 ноября 2018

Используя упомянутую технику здесь , Вы можете сделать что-то вроде этого

StreamReader r1;
StreamReader r2;
string file="filepath.txt";

ReadLine(file,1,6,ref r1);
ReadLine(file,7,10,ref r2);
string ReadLine(string fileName, int start,int end,ref StreamReader rdr)
{
   try{
       using (rdr = new StreamReader(fileName)) {
      for (int i = start; i <=end; i++)
      rdr.ReadLine();
      return sr.ReadLine();
      }
}
    catch(Exception ex)
    {
     }
}
...