try-with-resources statement
今天编写java的时候查看了一下java源代码,发现了如下图所示的注释:
一脸懵逼
意思是说这个方法是关闭这个资源,并释放掉和它相关的基础资源,如果一个对象使用try-with-resources statement 管理,则会自动调用该方法。
网上查了一下资料,发现是这个么用法
try( ... )
{
....
}
catch( ... ){
...
}```
以前我们写try-catch都会这么写:
try{
...
}catch{
...
}
但是我们打开的资源需要我们调用xx.close()方法手动进行关闭,但是使用try-with-resources statement 语句就不需要手动关闭了,如下代码是等效的:
try(Socket mySocket = new Socket("localhost", 8080)){
//........
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Socket mySocket = null;
try {
mySocket = new Socket("localhost", 8080);
//.....................
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally {
try {
mySocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}