我正在制作一个大型项目。因为我被困在一个地方。我使用以下代码从文件中读取:
String str = null;
FileReader fr = new FileReader("H:\\Eclipse\\Emulator\\progin8085.txt");
BufferedReader br = new BufferedReader(fr);
str = br.readLine(); //using it in a loop from 0 to total_no_of_lines
现在,当我在第8行(在向文件输入数据时计算行数)时,我想回到第3行或第4行或任何并再次想要读取和执行每个语句。如何仅使用BufferedReader读取以前的语句?如果不可能,还有其他解决办法吗?
答案 0 :(得分:1)
一些Reader
支持标记。您可以使用它们来回放文件。一个特别有用的Reader
(imo)是LineNumberReader
,它支持标记。这种代码可能适合您的需求。
public static int final READ_AHEAD_LIMIT = 100000;
LineNumberReader lnReader = new LineNumberReader(reader);
while (youWantToRead) {
...
if (mightBeInterestingLater) {
lnReader.mark(READ_AHEAD_LIMIT);
}
...
if (nowWantToRewind) {
lnReader.reset();
// We're now at whatever place mark() was last called at.
}
答案 1 :(得分:-3)
将所有文本文件行保存在 String [] StrArray 中并执行任何操作。