import java.io.*; public class Exp6 { public static void main(String[] args) { try { // 创建一个字符输入流 FileReader reader = new FileReader("filename.txt"); // 创建一个缓冲字符输入流 BufferedReader bufferedReader = new BufferedReader(reader); // 读取文件内容并输出到控制台 String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } // 关闭流 bufferedReader.close(); reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
时间: 2024-02-14 07:07:43 浏览: 72
实例分析Java中public static void main(String args[])是什么意思
这段代码在读取文件时,使用了缓冲字符输入流,但是在关闭流时,没有采用 try-with-resources 语句,需要手动关闭流,容易出现流未关闭的情况。可以优化为如下代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Exp6 {
public static void main(String[] args) {
try (FileReader reader = new FileReader("filename.txt");
BufferedReader bufferedReader = new BufferedReader(reader)) {
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
使用 try-with-resources 语句,不需要手动关闭流,可以确保流被正确关闭,代码更加简洁。
阅读全文