我正在尝试读取一个名为“ CityData.txt”的文件,其中仅包含一个城市名称列表,每行一个。我过去一直使用扫描器从文件中读取字符串,并在同一程序中使用它从另一个文件中读取整数,但是它似乎并未从文件中读取任何内容。

int counter2 = 0;
File strFile = new File("CityData.txt");
Scanner strScanner = new Scanner(strFile);
Scanner strCountScanner = new Scanner(strFile);

while ((strScanner.hasNext() == true)) {
    System.out.println(strScanner.nextLine());
    counter2++;
}

System.out.println("This is counter2: " + counter2);
String[] array2 = new String[counter2];

while ((strCountScanner.hasNext() == true)) {
    for (int i = 0; i < counter2; i++) {
        array2[i] = strCountScanner.nextLine();
    }
}


理想情况下,counter2会告诉我文件中有多少个城市,然后用它们填充array2。但是,程序运行后,counter2保持为0。我已经摆弄了一段时间,并希望也许我只是错过了一些愚蠢的东西。

谢谢

最佳答案

您正在尝试将城市添加到数组中?

public static void readText throws FileNotFoundException {
    ArrayList lines = new ArrayList();
    Scanner scan = new Scanner(new File("CityData.txt"));
    while(scan.hasNextLine()){
        String line = scan.nextLine();
        lines.add(line);
    }
}


或8中的视频流

 Stream <String> lines = Files.lines(Paths.get("c:\\demo.txt"));
            lines.forEach(System.out::println);
            lines.close();

10-05 18:30