制作"汇编程序"我注册的CS课程的程序。它具有ADD,SET,INC(增量)和JIG等功能。现在,我们输入一个带有以下布局的.txt文件(例如):
请注意:A和B只是在整个程序中存储值的整数,一旦到达文本文件末尾就打印出来。
INC A (increments A by 1)
SET B 5 (set's B's value to 5)
INC B
ADD A 3 (add's 3 to A's current value)
JIG B -4 (move's backward 4 lines, so back to INC A)
所以我很困惑怎么做才能将我的BufferedReader移回4行? BufferedReader中是否有一个方法可以将它移动到某个索引/位置?否则,我还能怎样做到这一点?
答案 0 :(得分:1)
最简单的方法是将行存储在数组或List中。
List<String> lines = Files.readAllLines(Paths.get("myfile.txt"));
这将允许您随机前进到任何一行。
要获取任何行,您可以使用lines.get(n)
例如,您可以
int pointer = 0;
for(boolean running = true; running && pointer < lines.size(); ) {
String line = lines.get(pointer);
String[] parts = line.split(" +");
switch(part[0]) {
case "JMP":
pointer += Integer.parseInt(parts[1]); // jump back or forth.
continue;
case "HALT":
running = false;
break;
// other instructions
}
pointer++;
}