我正在使用的库是打开输入流而不是关闭它。我怎么能关闭它?

时间:2016-02-11 13:49:26

标签: java inputstream

每隔几天,我收到一个SocketException,打开的文件太多了。我将问题跟踪到在某个过程中使用的临时pdf文件。该进程传递库创建的临时文件的名称。在某些时候,库会打开一个输入流,但不会关闭它。鉴于我的代码只有文件名,有什么方法可以关闭流吗?

详细说明: 在Tomcat6中运行的Java Web App

1 个答案:

答案 0 :(得分:1)

  1. 最好的方法是在修复此错误的情况下请求此库的版本。

  2. 如果无法做到这一点,请获取资源,自行修复错误。

  3. 如果你不能(只是二进制jar文件),请尝试像jd-gui这样的工具,反编译错误的类,修复,重新编译该类并替换jar中的.class。

  4. 如果仍然无效,请使用ASM并在正确的位置添加一个关闭语句。应该避免这个解决方案。如果你不掌握这项技术,那就复杂了。