有没有办法判断输入流是否在代码中的任何位置打开而不是关闭

时间:2014-10-11 17:09:39

标签: java inputstream fileinputstream

我在Java工作,我的IDE是Intellij。 我的生产问题是无法删除已读取(打开)但未正确关闭的文件,原因很简单,因为代码中的所有分支都没有导致fileInputStream.close()。

如果有一种方法可以让intelij IDEA遍历我的所有代码并告诉你是否有打开的InputStreams(例如FileInputStream)并且没有close()方法调用。

这会让我的错误修复得更好。

2 个答案:

答案 0 :(得分:0)

使用QAPlug-FindBugs插件,它将能够检测未关闭的流:

您可以使用IDEA插件管理器安装插件。转到设置,然后搜索插件。然后从JetBrains插件安装QAPlug和QAPlug-FindBugs。重新启动IDE并右键单击您的项目并选择分析代码。然后,如果您有未关闭的流,它将报告。

见下图:

enter image description here

答案 1 :(得分:0)

升级到java 7,其中FileInputStream是自动关闭的。

http://java.dzone.com/articles/java-7-new-feature-%E2%80%93