首页 > 解决方案 > Java/Fortify - 未发布的资源:Stream

问题描述

try (java.io.ByteArrayOutputStream out = (java.io.ByteArrayOutputStream) this.httpConnect.getOutputStream();) {

对于这一行,fortify 给出了 - 未发布的资源:流漏洞。任何原因?我们已经将它添加到 try with resorces 中。

我是否需要使用旧模式 [try.catch/finally] 来关闭资源?

这里,this.httpConnect是:HttpURLConnection httpConnect = null;

请在这里提供一些建议。

标签: javafortifytry-with-resources

解决方案


大概如果返回 a (or )getOutputStream()以外的东西,那么演员会抛出。资源不会到达所以无法关闭。ByteArrayOutputStreamnulltry

因此,请避免在 try-with-resource 语句表达式中进行强制转换。或者最好完全避免强制转换。


推荐阅读