1. 程式人生 > >C# 讀取txt檔案資料,StreamReader.BaseStream.Seek()後ReadLine()有錯誤的問題

C# 讀取txt檔案資料,StreamReader.BaseStream.Seek()後ReadLine()有錯誤的問題


readerPOSPath.BaseStream.Seek(n, SeekOrigin.Begin);
linepos = readerPOSPath.ReadLine();//讀一行

按照上面的方法。Seek到指定位置後,緊接著ReadLine(),得到的結果有Seek之前的資料,也就是說Seek()沒有即時產生作用,有一些延遲,具體原因沒時間深究了。參考:這個部落格解決問題

readerPOSPath.BaseStream.Seek(n, SeekOrigin.Begin);
readerPOSPath.DiscardBufferedData();
linepos = readerPOSPath.ReadLine();//讀一行