我想从文件中读取所有int数据。但是我只看到最后一行。
文件内容:
1
2
3
输出:
3
我能从一个文件中得到所有的数字吗?
BufferedReader reader = new BufferedReader(new FileReader("C:\Users\...\P.txt"));
String zeile;
try {
while ((zeile = reader.readLine()) != null) {
String in = reader.readLine();
if (in != null) {
int zahl = Integer.parseInt(reader.readLine());
System.out.println(zahl);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
reader.close();
}
一次读取三个值
while ((zeile = reader.readLine()) != null) { // first time. Read the 1
String in = reader.readLine(); // second time. Read the 2
if (in != null) {
int zahl = Integer.parseInt(reader.readLine()); // third time. Read 3.
System.out.println(zahl);
}
}
你只需要一次读一个:
while ((zeile = reader.readLine()) != null) {
int zahl = Integer.parseInt(zeile);
System.out.println(zahl);
}
您呼叫readLine
3次而不是一个,但使用它的结果只有一个,你已经有了zeile
变量中的行。你也可以使用try-with-ressource
来避免finally
步骤
try (BufferedReader reader = new BufferedReader(new FileReader("C:\Users\...\P.txt"))) {
String zeile;
while ((zeile = reader.readLine()) != null) {
int zahl = Integer.parseInt(zeile);
System.out.println(zahl);
}
} catch (IOException e) {
e.printStackTrace();
}