文件的异常处理
文件的异常处理
try…catch..finally异常处理
1
2
3
4
5
6
7try {
可能出现异常的代码;
}catch(异常类名, 变量名) {
异常的处理代码;
}finally {
执行所有清除操作;
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36/**
* try...catch..finally异常处理
*/
public static void fileMethod() {
FileReader fileReader = null;
FileWriter fileWriter = null;
try {
fileReader = new FileReader("fr.txt");
fileWriter = new FileWriter("fw.txt");
char[] chars = new char[1024];
int len;
while ((len = fileReader.read(chars)) != -1) {
fileWriter.write(chars, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fileWriter != null) {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
JDK7提供TWR的改进异常处理
1
2
3
4
5
6
7try(定义流对象) {
可能出现异常代码;
}catch(异常类名, 变量名) {
异常的处理代码;
}
自动释放资源...1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18/**
* JDK1.7提供TWR的改进异常处理
*/
public static void fileMethodNew() {
try (
FileReader fileReader = new FileReader("fr.txt");
FileWriter fileWriter = new FileWriter("fw.txt");
) {
char[] chars = new char[1024];
int len;
while ((len = fileReader.read(chars)) != -1) {
fileWriter.write(chars, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
JDK9提供改进异常处理
1
2
3
4
5
6
7
8
9// 定义输入流对象;
// 定义输出流对象;
try(输入流对象;输出流对象) {
可能出现异常的代码;
}catch(异常类名, 变量名) {
异常的处理代码;
}
自动释放资源...1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/**
* JDK9提供改进异常处理
*/
public static void fileMethodNews() throws IOException {
FileReader fileReader = new FileReader("fr.txt");
FileWriter fileWriter = new FileWriter("fw.txt");
try (fileReader; fileWriter) {
char[] chars = new char[1024];
int len;
while ((len = fileReader.read(chars)) != -1) {
fileWriter.write(chars, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jing's Blog!