while ((line = reader.readLine()) != null) 将这段代码改为当读到倒数第二行时结束
时间: 2024-03-15 22:45:58 浏览: 112
要将这段代码改为当读到倒数第二行时结束,可以使用一个计数器变量来记录读取的行数,并在读取到倒数第二行时退出循环。以下是一个例子:
```java
try {
BufferedReader reader = new BufferedReader(new FileReader("example.txt"));
String line = null;
int count = 0;
while ((line = reader.readLine()) != null) {
count++;
if (count == getTotalLines("example.txt") - 1) {
break;
}
// 处理每一行的内容
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
// 获取文件总行数的方法
public static int getTotalLines(String filename) throws IOException {
LineNumberReader reader = new LineNumberReader(new FileReader(filename));
String line = null;
while ((line = reader.readLine()) != null) {}
int totalLines = reader.getLineNumber();
reader.close();
return totalLines;
}
```
在上述代码中,使用一个计数器变量count来记录读取的行数,如果count等于总行数减1,即读取到倒数第二行时,就跳出循环。getTotalLines()方法用来获取文件的总行数,可以先读取一遍文件并计算行数,然后关闭流并返回行数。
阅读全文