由于我公司的使用Eclipse和使用Eclipse的代码自动修复的政策,下面的代码模式过度地出现在代码库:如何重构在Java中关闭流?
InputStream is = null;
try {
is = url.openConnection().getInputStream();
// .....
} catch (IOException e) {
// handle error
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// handle error
}
}
}
IMO这是非常的fugly,难以阅读,尤其是最后块内的部分(是否真的需要捕获2个IOException异常?)。无论如何简化代码,使其看起来更清洁?
请注意,我不能使用外部库,如Apache IOUtils,除非它经过多个实体的测试和批准 – david 2010-10-22 01:33:35
使用Apache IOUtils的关键在于它已经被无数其他人测试过了。这就是说,我感到你的痛苦。在您的组织内部IOUtils经过测试和认可*一次*是否值得?因此您可以在所有项目中使用它? – 2010-10-22 01:36:27
如果只有这样简单的生活......我必须通过多层次的管理和繁文to节才能让相关工作组看到它。我们仍然坚持使用JDK1.4.2,这是因为已经退役的软件存在'遗留'问题 – david 2010-10-22 01:43:14