如何使用BufferedReader在.txt文件中移动行?

时间:2016-02-08 04:16:01

标签: java io

制作"汇编程序"我注册的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中是否有一个方法可以将它移动到某个索引/位置?否则,我还能怎样做到这一点?

1 个答案:

答案 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++;
}