在Java中读取文件的最佳方法是什么?

时间:2014-01-31 18:39:48

标签: java parsing

我正在编写一个JAVA程序来模拟汇编程序(作为我大学的作业)。

我有一个汇编程序,作为这个汇编程序的输入。

汇编代码中每个语句的一般格式如下:

[Label] OPCODE OPERAND1 [OPERAND2](每个词用空格分隔)

LabelOPERAND2是可选部分,因此在某些声明中可能无法使用这些部分。

在我的java代码中,我读取每一行,然后使用StringTokenizer将4个部分用空格分隔。

我的问题是,只要Label和/或OPERAND2不可用,我如何才能发现StringTokenizer返回的第一个值实际为OPCODE值,同样第二个值值是OPERAND1值?这样做的最佳方式是什么?

非常感谢

2 个答案:

答案 0 :(得分:2)

如果

  1. Label永远不能是OPCODE
  2. 并且取决于存在多少OPCODE个值,
  3. 你可能只是创建一个方法isOpcode(String s)并在令牌化后测试第一部分。如果通过,Label必定已丢失。如果失败,则Label必须存在。

    根据该测试的结果,您可以计算其余部分以确定是否存在OPERAND2

答案 1 :(得分:0)

解析该行并将其放入ArrayList中。 如果ArrayList.size()是4而不是4。 如果它是测试ArrayList.get(0),如果它是Op而不是标签不可用,如果它不是操作数2不可用。 如果size为2,则标签和操作数2都不可用。 我建议你为每种格式制作一个课程(I格式,R格式......)