我见过java7 try-with-resources。如果可关闭的资源是params,我们不需要声明资源。对于这种情况,我们如何使用这个功能?
public static void write(byte[] b, OutputStream os) throws Exception {
try {
os.write(b);
}
catch(Exception e) {
logger.log(Level.INFO, "Exception in writing byte array");
}
finally {
try {
if(os != null) {
os.close();
}
}catch(Exception e) {
logger.log(Level.INFO, "Exception while close the outputstream");
throw e;
}
}
}
答案 0 :(得分:4)
您可以简单地写一下:
static void write(byte[] b, OutputStream os) throws Exception {
try (OutputStream o = os) {
o.write(b);
}
}
答案 1 :(得分:0)
一旦try块完成,它就会调用方法close
来关闭资源
try (BufferedWriter bw = new BufferedWriter(new FileWriter("file.out"))) {
bw.write("something");
}
资源应该实现Closable
接口