java BufferedReader回滚到上一行
我正在使用BufferedReader从文件中读取文本,当某些条件评估为true时,我想回滚到前一行。将您的读取器包装在一个文件中 从javadoc: 一种字符流读取器,允许向后推送字符 进入小溪 用于解析文件,则缓冲读取器用于按顺序读取文件 使用java BufferedReader回滚到上一行,java,bufferedreader,Java,Bufferedreader,我正在使用BufferedReader从文件中读取文本,当某些条件评估为true时,我想回滚到前一行。将您的读取器包装在一个文件中 从javadoc: 一种字符流读取器,允许向后推送字符 进入小溪 用于解析文件,则缓冲读取器用于按顺序读取文件 使用java.io.RandomAccessFile可以将文件读取为 RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw"); file.seek(200); lon
java.io.RandomAccessFile
可以将文件读取为
RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
file.seek(200);
long pointer = file.getFilePointer();
file.close()
要在RandomAccessFile中的特定位置读取或写入,必须首先将文件指针定位在要读取或写入的位置。这是使用seek()方法完成的。可以通过调用getFilePointer()方法获取文件指针的当前位置
您可以使用BufferedReader
类提供的mark()
方法,并可以获得示例。
您可以在apache commons中使用FileUtils
,这将更容易
例如:
String line = FileUtils.readLines(aFile).get(lineNumber);
您可以使用此工具实现您的需求
注意:apachecommons-io.jar文件应该在类路径中,您可以下载