gpt4 book ai didi

Java 缓冲阅读器 - 跳转到行

转载 作者:行者123 更新时间:2023-11-30 03:01:16 26 4
gpt4 key购买 nike

我正在阅读这样的文件:

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(" ");

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

最佳答案

如果这是我的项目,我会

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

关于Java 缓冲阅读器 - 跳转到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com