作者vitreosity (琉璃渣)
看板java
標題[問題] 關於BufferedReader的mark()及reset()方法...
時間Fri Jun 25 14:45:42 2010
如題,程式碼如下:
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
→ sbrhsieh:請先看看 Reader - mark method API 說明。 06/25 15:03
→ sbrhsieh:不要連參數意義都不清楚就隨便給個值。 06/25 15:04
→ vitreosity:不好意思。問題已經解決,謝謝你。 06/25 21:21