java - 我应该关闭由 ZipOutputStream 包装的 FileOutputStream
问题描述
我正在编写一个批处理,下面将在循环中多次调用。所以我想知道我是否正确关闭了资源
// 这将在循环中调用
FileOutputStream fos = null;
ZipOutputStream zos = null;
try {
fos = new FileOutputStream(zipFile);
zos = new ZipOutputStream(fos);
...
...
closeQuietly(zos)
} catch(Exception e) {log.error(e.getMessage(),e);}
void closeQuietly(ZipOutputStream zos) {
try {
zos.closeEntry();
zos.flush();
zos.close();
}
catch(Exception e) {log.error(e.getMessage(),e);}
}
我是否正确关闭了资源。我也需要关闭FileOutputStream
吗closeQuietly()
解决方案
如果您查看文档,您会发现 .close() “关闭 ZIP 输出流以及被过滤的流”。
所以你应该没问题
推荐阅读
- amazon-web-services - 在 lambda 上使用 dynamoDB 时出现 AWS Lambda 权限错误
- python - Leetcode 3Sum:为什么结果重复?
- python - 如何在 Django 中使用 Css + JavaScript 文件渲染 HTML
- react-native - React-native 应用程序标题与电话标题重叠
- json - JSONDecodeError:期望值:第 1 行第 1 列。Python 请求
- python - 如何在python中修改Matlab脚本来调用数据
- flutter - 检查字符串飞镖中的数学方程
- python - 如何解决boto3客户端错误?service_nake
- swift - 在 SwiftUI 范围内找不到“实体”
- html - 设置子元素高度时的空白