Return StreamReader to Beginning

后端 未结 7 1569
醉梦人生
醉梦人生 2020-11-27 05:18

I\'m reading a file in line-by-line and I want to be able to restart the read by calling a method Rewind().

How can I manipulate my System.IO.Stre

7条回答
  •  广开言路
    2020-11-27 05:46

    public long ReadList(string fileName, Action action,long position=0)
    {
      if (!File.Exists(fileName)) return 0;
    
      using (var reader = new StreamReader(File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite),System.Text.Encoding.Unicode))
      {
        if (position > 0)reader.BaseStream.Position = position;
    
         while (!reader.EndOfStream)
         {
           action(reader.ReadLine());
         }
         return reader.BaseStream.Position;
       }
    }
    

提交回复
热议问题