gpt4 book ai didi

java - 扫描仪分隔符获取由 ""和 "\n"java 分隔的标记

转载 作者:行者123 更新时间:2023-12-02 02:58:26 25 4
gpt4 key购买 nike

我正在尝试从如下所示的文件中读取 token

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

最佳答案

Scanner 的好处是它允许读取原始类型而无需显式转换。您可以尝试以下方法:

try (FileInputStream source = new FileInputStream(PATH)) {
Scanner scanner = new Scanner(source);
Translator translator = new Translator(scanner.nextInt(), scanner.nextInt());
while(scanner.hasNextInt()){
m.final_states.add(scanner.nextInt());
}
}

请注意,在 scanner.hasNextInt() 的帮助下,您无需计算第二行中的输入数量。

关于java - 扫描仪分隔符获取由 ""和 "\n"java 分隔的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42728569/

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