java 文件读写操作 异常处理_java - 如何捕获通过读取和写入文件而抛出的所有异常?...
时间: 2024-03-17 17:42:39 浏览: 135
在Java中,文件读写操作可能会抛出多种异常。为了确保程序的健壮性,我们需要捕获并处理这些异常。以下是一些可能抛出的异常类型:
1. FileNotFoundException:如果指定的文件不存在,将抛出此异常。
2. IOException:如果读取或写入文件时发生错误,将抛出此异常。
3. SecurityException:如果安全管理器禁止访问指定文件,将抛出此异常。
为了捕获这些异常,我们可以使用try-catch块。以下是一个示例代码,展示如何捕获通过读取和写入文件而抛出的所有异常:
```java
import java.io.*;
public class FileReadWrite {
public static void main(String[] args) {
try {
// 读取文件
File file = new File("input.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
// 写入文件
FileWriter fw = new FileWriter("output.txt");
BufferedWriter bw = new BufferedWriter(fw);
// 逐行读取并写入文件
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
// 关闭文件
br.close();
fr.close();
bw.close();
fw.close();
} catch (FileNotFoundException e) {
System.out.println("文件不存在!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("读写文件错误!");
e.printStackTrace();
} catch (SecurityException e) {
System.out.println("安全管理器禁止访问文件!");
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用try-catch块捕获了FileNotFoundException、IOException和SecurityException异常。如果捕获到异常,程序将打印错误信息并输出异常堆栈跟踪。注意,在finally块中关闭文件流以确保文件资源得到释放。
阅读全文