开发者社区> 问答> 正文

我需要关闭Java中的IO流吗?

我正在使用OutputStream和InputStream用于读写.properties文件:

try (OutputStream output = new FileOutputStream(path)) { // ... output.close(); } catch (IOException e) { e.printStackTrace(); }

try (InputStream input = new FileInputStream(path)) { // ... input.close(); } catch (IOException e) { e.printStackTrace(); } 但是我的IDE表示这些close()调用是多余的。如果不关闭它们,是否会发生内存泄漏?在Java中如何工作?

展开
收起
小六码奴 2019-10-14 18:00:41 5578 0
2 条回答
写回答
取消 提交回答
  • 精于基础,广于工具,熟于业务。

    try语句会自动关闭资源,确实不需要您自己去关闭资源了。

    2019-10-15 09:35:35
    赞同 展开评论 打赏
  • 使用该try-with-resources语句将自动关闭资源,因此您的close()呼叫确实是多余的。

    2019-10-14 18:01:00
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
多IO线程优化版 立即下载