java - 按字读取文件,扫描仪

标签 java arrays file arraylist java.util.scanner

我有一个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()) {
        ...
    }
}

最佳答案

假设你的代码有效,我会这样做

List<List<String>> temps = new ArrayList<>();
Scanner dataScanner = new Scanner(dataFile);

while (dataScanner.hasNextLine()) {
    String[] data = dataScanner.nextLine().split(" ");
    temps.add(new ArrayList<>(Arrays.asList(data[0],data[1]));
}

这会获取当前行并将其拆分为一个空格字符。 之后它会创建一个包含这两个元素的列表并将其添加到您的临时列表中

关于java - 按字读取文件,扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46604637/

相关文章:

java - java 有没有办法随机猜测下一个数字?

java - 从上一个循环获取一个值以在当前循环中使用

java - 使用 Java 将字符串数组写入文件 - 单独的行

file - Delphi:使用SynEdit加载大文件

java - 如何从可运行的 jar 创建 txt 文件?

java - 使用命令行执行类时出现异常

java - 通过Java读取Win32应用程序状态

java - 用java从txt文件中读取迷宫

javascript - 这个Javascript单行函数是如何工作的?

file - HTML 5 文件上传