我正在重构一些看起来像这样的旧代码:
OutputStreamWriter osw1 = null;
OutputStreamWriter osw2 = null;
try {
// Some statements...
if (condition1)
osw1 = createAnOutputStreamWriter(params1...);
// Some more statements...
if (condition2)
osw2 = createAnOutputStreamWriter(params2...);
// Some more statements...
} finally {
try {
if (osw1 != null)
osw1.close();
if (osw2 != null)
osw2.close();
} catch (Exception e) {
// Ignore
}
}
我想清理代码,但是当变量osw1和osw2更改为引用块内的不同对象时,无法直接替换最外层try
使用try-with-resources。你能提出任何建议吗?