如何从文件中读取所有int数据



我想从文件中读取所有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);
}

您呼叫readLine3次而不是一个,但使用它的结果只有一个,你已经有了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();
}

最新更新