给你一个例子,比如:下面的文件操作异常处理就是经常要这样用的
//拷贝文件
private static void test4() {
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("D:\\1.txt");
fr = new FileReader("D:\\aa.java");
/*
* //低效--读取一个字符写入一个 int n=0; while((n=fr.read())!=-1){ fw.write(n);
* } fw.close(); fr.close();
*/
// 高效方法---先读取一部分再写
char[] chars = new char[1024];
int num = 0;//
while ((num = fr.read(chars)) != -1) {
fw.write(chars, 0, num);// 读取几个字符写入几个
}
} catch (IOException e) {
// 处理不了--删除文件等...
throw new RuntimeException("读写失败!");
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
|