public static void writeFile(String str) {
FileWriter fw = null;
try {
fw = new FileWriter("e://1.txt", true);
fw.write(str);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
对Jdk1.7新特性是否了解
try()...catch()的用法,关闭代码的逻辑比较冗长
开发者需要手动写代码做关闭的逻辑;
有时候可能会忘记关闭一些资源,导致内存泄漏;
关闭代码的逻辑比较冗长,代码可读性差。
由带资源的try语句管理的资源必须是实现了AutoCloseable接口的类的对象。
在try代码中声明的资源被隐式声明为fianl。
通过使用分号分隔每个声明可以管理多个资源。
try (创建流对象语句,如果多个可以使用';'隔开) {
// dosomething
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeFile(String str) {
try (FileWriter fw = new FileWriter("e://1.txt", true)) {
fw.write(str);
} catch (Exception e) {
e.printStackTrace();
}
}
近期推荐
联系客服