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