我正在尝试读取一个名为“ 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();