C#-Streamreader-读取位置并从特定位置开始

时间:2018-11-14 18:08:28

标签: c# indexing stream position streamreader

场景:

  • 我得到了一个包含10行文本的.txt文件。
  • 我有两个Streamreader(reader1,reader2)。
  • 我希望Reader1阅读1-6行
  • 之后,我希望Reader2阅读7-10行

因此,我需要获得reader1的最后一个位置,并且必须在相同的位置加一个来启动reader2。

使用Streamreader可以吗?是否有任何“位置”,索引或类似内容可以帮助我浏览.txt文件。

1 个答案:

答案 0 :(得分:1)

使用here中提到的技术,您可以执行以下操作

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)
    {
     }
}