语法糖之——try-with-resources
使用方法
try(FileInputStream inputStream = new FileInputStream("README.md")){
inputStream.read();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
以上代码可以转化为
try(FileInputStream inputStream = new FileInputStream("README.md")){
inputStream.read();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(inputstream!=null){
inputstream.close();
}
}
优点
- 可以自动帮我们进行对象的关闭操作
自定义类使用try-with-resources
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Test implements AutoCloseable{
public void send(){
System.out.println("发送");
}
@Override
public void close() throws Exception {
System.out.println("对象关闭了");
}
public static void main(String[] args) {
try(Test test = new Test()){
test.send();
}catch (Exception e){
e.printStackTrace();
}
}
}
- 需要实现 AutoCloseable 接口 并实现 close 方法
网友评论