java BufferedReader回滚到上一行

时间:2014-06-25 05:54:59

标签: java bufferedreader

我正在使用BufferedReader从文件中读取文本,当某些条件评估为true时,我想回滚到上一行。

3 个答案:

答案 0 :(得分:1)

将您的读者包裹在PushbackReader

来自javadoc:

  

允许推回字符的字符流阅读器   进入溪流。

答案 1 :(得分:0)

使用java.io.RandomAccessFile解析文件,然后缓冲读取器将按顺序读取文件。

使用java.io.RandomAccessFile,您可以将文件读取为

RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
file.seek(200);
long pointer = file.getFilePointer();
file.close()

要在RandomAccessFile中的特定位置读取或写入,必须先将文件指针放在要读取或写入的位置。这是使用seek()方法完成的。可以通过调用getFilePointer()方法获得文件指针的当前位置。

Reference

答案 2 :(得分:0)

您可以使用mark()类提供的BufferedReader方法和here示例。 您可以在apache commons中使用FileUtils here

示例:

String line = FileUtils.readLines(aFile).get(lineNumber);

您可以使用此功能来实现您的要求。

注意:apache commons-io.jar文件应该在classpath中,你可以下载here