当前项目的根目录下有一个文件:file/a.txt的编码方式为"UTF-8",内容如下: 两个黄鹂鸣翠柳 一行白鹭上青天 读取文件中的内容,并输出打印到控制台上。 要求:使用try-catch-finally处理异常
时间: 2024-04-21 21:22:35 浏览: 8
要读取文件的内容并打印到控制台上,你可以使用以下代码:
```java
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFile {
public static void main(String[] args) {
BufferedReader reader = null;
try {
// 创建文件输入流
FileInputStream fileInputStream = new FileInputStream("file/a.txt");
// 创建字符输入流,并指定编码方式为UTF-8
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
// 创建缓冲字符输入流
reader = new BufferedReader(inputStreamReader);
// 读取文件内容并打印到控制台
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 关闭字符输入流
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
这段代码使用了`try-catch-finally`语句块来处理可能抛出的异常。首先,创建一个`FileInputStream`对象来读取文件,然后创建一个`InputStreamReader`对象,指定编码方式为UTF-8。接着,创建一个`BufferedReader`对象来读取文件内容。使用`readLine()`方法逐行读取文件内容,并打印到控制台上。最后,在`finally`块中关闭字符输入流,确保资源得到释放。