问题描述
try (java.io.ByteArrayOutputStream out = (java.io.ByteArrayOutputStream) this.httpConnect.getoutputStream();) {
对于这一行,强化是给予 - 未发布的资源:流漏洞。任何原因?我们已经将其添加到 try with resorces 中。
是否需要使用旧模式 [try.catch/finally] 来关闭资源?
这里,this.httpConnect
是:HttpURLConnection httpConnect = null;
请在此处提供一些建议。
解决方法
大概如果 getOutputStream()
返回的不是 ByteArrayOutputStream
(或 null
),那么演员表将抛出。资源不会到达 try
,因此无法关闭。
因此,避免在 try-with-resource 语句表达式中进行强制转换。或者最好完全避免强制转换。