推荐写在 try 的括号中
/** 方式一、方式二是等价的
* <li>推荐使用方式一</li>
* @since 2023/5/18 0018
* @author CC
**/
public void closeStream() throws IOException {
//使用方式一(推荐):各种“流”,这些流都是需要关闭的。
// -> 这些流会自动关闭。这些流的作用域仅在这个try代码块中
try (POIFSFileSystem poifsFileSystem = new POIFSFileSystem();
InputStream byteInputStream = new ByteArrayInputStream(new byte[1]);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
){
//业务……使用:poifsFileSystem、byteInputStream、outputStream
} catch (Exception e) {
e.printStackTrace();
}
//使用方式二:各种“流”,这些流都是需要关闭的。
// -> 这些流需要手动关闭
POIFSFileSystem poifsFileSystem = new POIFSFileSystem();
InputStream byteInputStream = new ByteArrayInputStream(new byte[1]);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
//业务……使用:poifsFileSystem、byteInputStream、outputStream
} catch (Exception e) {
e.printStackTrace();
}finally {
poifsFileSystem.close();
byteInputStream.close();
outputStream.close();
}
}