我想用mark()
和reset()
方法来读取分隔线之前的行。在java中标记和重置BufferedReader
String line;
FileReader fr = new FileReader(PATH);
LineNumberReader br = new LineNumberReader(fr);
String DIVIDER = "================================";
while ((line = br.readLine()) != null) {
boolean endOfObj = false;
while (!line.trim().contains(DIVIDER)) {
br.mark(line.length());
line = br.readLine(); //return next line
}
br.reset();
line = br.readLine();
但行变量值不是上一行的分隔符。 我的问题是什么。 谢谢
首先,在读完这一行后标记,所以标记在行后面。 – SJuan76 2015-03-02 08:27:21
不是一个很好的方式来做到这一点。请记住每次围绕循环的上一行,并在跳出循环时使用它。 – EJP 2015-03-02 09:09:31
thx @EJP,出于某种原因,我应该再次回到特定的行并在我的数据库中存储一些额外的数据,我想用mark()和reset()来处理它,我该怎么做? – farhad 2015-03-02 09:26:39