[問題] 關於BufferedReader的mark()及reset()方法...
如題,程式碼如下:
FileReader fr = new FileReader("Text.txt");
BufferedReader br = new BufferedReader(fr);
String input = null;
input = br.readLine();
br.mark(0);
br.reset();
小弟碰到的問題是,如果在mark()跟reset()之間插入迴圈如下:
while (input != null) {
input = br.readLine();
}
之後,再執檔案時會發生如下的錯誤:
Exception in thread "main" java.io.IOException: Mark invalid
at java.io.BufferedReader.reset(Unknown Source)
at Test.main(Test.java:34)
去查過API後,發現似乎是先前mark()方法的設定被洗掉了,以致於reset()方法找不到旗
標,請問問題是出在哪裡?有方法可以避免嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.231.87
→
06/25 15:03, , 1F
06/25 15:03, 1F
→
06/25 15:04, , 2F
06/25 15:04, 2F
→
06/25 21:21, , 3F
06/25 21:21, 3F