【发布时间】:2021-11-27 00:51:46
【问题描述】:
所以我正在尝试读取以下数据并将其拆分为一个数组。但是txt文件只有一行。
1、5、3、7、9、5、3、1、9、5、7、3、7、5、9、1、3、5
我不确定我的代码是否正确。
try {
File cars = new File("cars.txt");
Scanner myReader = new Scanner(cars);
String data = myReader.nextLine();
while (myReader.hasNextLine()) {
data = myReader.nextLine();
String values[] = data.split(",");
System.out.print(values);
}
【问题讨论】:
-
Scanner 类有一个
useDelimiter方法,看起来很有用,在这里。 -
试试
BufferedReader,这回答了你的问题stackoverflow.com/questions/4716503/… -
我的建议:连接一个 List 而不是 Array,每次阅读另一行时,将该行发送到一个方法中,该方法将其拆分为数字并将所有这些添加到现有列表中。在一天结束时,您将获得所有数字的完整列表。如果你只有一条线,那又如何?
-
行“字符串数据 = myReader.nextLine();”读取该行,这意味着在下一行,“myReader.hasNextLine()”将返回 false,并且您的 while 循环的内容永远不会运行。将前一行更改为“字符串数据;”或在循环内实例化字符串。
-
按照 bschellekens 所说的做,而不是
System.out.print(values);做System.out.print(Arrays.toString(values));
标签: java java.util.scanner txt