Java 缓冲 ​​reader - 跳转到行

Java buffered reader - jump to line

我正在阅读这样的文件:

JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int result = fileChooser.showOpenDialog(this);

if (result == JFileChooser.CANCEL_OPTION) {
    System.exit(1);
}

file = fileChooser.getSelectedFile();

java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(file));
String line = reader.readLine();
while (line != null) {
//do stuff for each line
}
reader.close();

文件如下所示:

0 LOAD 1,3 
1 LOAD 0,2
2 ADD 1,2
3 ADD 0,1
4 LSS 1,3,2
5 STOR 62,1

我是这样解析的:

String[] actionFirstSplit = line.split(" ");

此处未显示与每一行关联的代码。对于某些行,我想跳回到某个行号,并再次继续阅读文件。做这个的最好方式是什么?我是否必须创建另一个 reader 并跳过几行直到我感兴趣的特定行?我正在查看 this post,但我想继续阅读文件的其余部分。

如果这是我的项目,我会

  • 创建一个 class,可能称为 MyClass(仅供讨论),以保存一行数据。它会有行号、文本字符串(命令?)和一个 List<Integer> 来保存可变数量的 int 参数。
  • 创建一个 List<MyClass> 来保存此 class 对象的线性集合。
  • 在我的单个 BufferedReader 中,读取每一行,创建一个 MyClass 对象,并将其放入集合中。
  • 当我需要循环返回时,我只需搜索我的集合——不需要从文件中重新读取,因为这是一项相对昂贵的任务,而循环遍历 ArrayList 等列表则不是那么简单.