【问题标题】:Java/Fortify - Unreleased resource:StreamJava/Fortify - 未发布的资源:Stream
【发布时间】:2021-05-13 11:06:05
【问题描述】:
try (java.io.ByteArrayOutputStream out = (java.io.ByteArrayOutputStream) this.httpConnect.getOutputStream();) {

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

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

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

请在这里提供一些建议。

【问题讨论】:

    标签: java fortify try-with-resources


    【解决方案1】:

    大概如果getOutputStream() 返回的不是ByteArrayOutputStream(或null),那么演员会抛出。该资源将无法到达try,因此无法关闭。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多