我在 Netbeans 7.1.2 中有以下代码:
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filename));
bos.write(newRawData);
bos.close();
一个警告表明我“转换为 try-with-resources”。当我选择这样做时,我的代码变为:
try (BufferedOutputStream bufferedFos = new BufferedOutputStream(new FileOutputStream(filename))) {
bufferedFos.write(newRawData);
}
这看起来类似于 C# 中 using(...) 的语法...它们的工作方式相同吗?使用第二种格式有什么缺点吗?我担心没有bos.close();
,但是这种格式根本没有必要吗?