【发布时间】:2017-03-10 22:11:45
【问题描述】:
我正在尝试从一个看起来像这样的文件中读取令牌
4 2
3 1 2 3
所以我希望这些标记用“”或输入 (\n) 分隔。 我如何做到这一点?
我尝试了一些东西,但没有成功。
in = new FileInputStream("input.txt");
scan = new Scanner(in);
scan.useDelimiter(" \\n");
System.out.println("I get here");
t = new Translator(Integer.parseInt(scan.next()), Integer.parseInt(scan.next()));
System.out.println("I don't get here");
int temp = Integer.parseInt(scan.next());
while(temp > 0){
m.final_states.add(Integer.parseInt(scan.next()));
temp--;
}
我似乎找不到任何关于我想要的分隔符类型的相关信息。我看过几个例子,我也读过文档中的例子,但我很困惑。
我得到的错误是 java.lang.NumberFormatException
【问题讨论】:
-
根据 javadoc,扫描仪的默认分隔符是什么? javadoc如何定义默认分隔符?
-
您的模式匹配空格后跟换行符,而不是空格或换行符。
-
@JBNizet 它确实是空格......哎呀。我认为它不会在输入时起作用,但我看到它确实如此
-
@nfnneil 您的回答很有帮助,但我无法将其标记为正确答案,因为这不是我在标题中写的答案
-
@Bubletan 很高兴知道
标签: java java.util.scanner token delimiter