【发布时间】:2018-03-18 04:40:57
【问题描述】:
我有一个txt文件,其中每一行包含两个单词,例如:
USA 321
France 1009
...
Germany 902
如何在二维数组中逐字读取此文件?我有:
List<List<String>> temps = new ArrayList<>();
Scanner dataScanner = new Scanner(dataFile);
while (dataScanner.hasNextLine()) {
Scanner rowScanner = new Scanner(dataScanner.nextLine());
temps.add(new ArrayList<>(2));
while (rowScanner.hasNextLine()) {
...
}
}
【问题讨论】:
-
你必须使用扫描仪的行吗?如果没有,请使用
String.split()将行拆分为单词。 -
如果你必须对行使用扫描器,不要使用
rowScanner.hasNextLine();它只包含一行。使用hasNext()(和next())从行中获取单个单词。此外,如果您确定每行总是正好有 2 个单词,您可以将结构设为List<String[2]>。
标签: java arrays file arraylist java.util.scanner