这几乎看起来很傻但是关闭OutputStream时最可靠的模式是什么?现在我有类似下面的东西,似乎是try-catch-finally-overkill:
private void writeContentsToFile(OutputStream ostream, Properties contents) {
try {
contents.store(ostream, "comments");
}
catch (IOException e) {
throw new ResourceException("Failed to write contents", e);
}
finally {
try {
ostream.close();
}
catch (IOException e) { /* what can be done here anyway? */ }
}
}
Run Code Online (Sandbox Code Playgroud)
为什么近距离抛出一个经过检查的异常对我来说仍然是一个谜.我可以创建执行close/catch块的包装器方法,但是如果有某些东西已经存在,就像FileUtil.closeFileAndThrowUncheckedException()我想要使用它一样.当你有很多具有大量开发人员的小项目时,这会变得更有用; 一种方法是正确的.
Sri*_*nan 18
如果您使用的是Apache Commons,那么IOUtils.closeQuietly()可以很好地完成工作.见http://commons.apache.org/proper/commons-io/javadocs/api-1.4/org/apache/commons/io/IOUtils.html#closeQuietly(java.io.OutputStream)
| 归档时间: |
|
| 查看次数: |
18617 次 |
| 最近记录: |