问题是: 当我在下面的代码上运行声纳检查(分析我的代码中的错误)时,它抱怨 ClassA 中的 FileInputStream -> createFile() 没有关闭。我了解这是资源泄漏,需要关闭。但是,如果我对资源使用 try 或在 finally 块中关闭流,ClassB 会抱怨它在关闭时无法读取流。
解决此问题的最佳方法是什么?
代码块:
public ClassA{
public ClassB createFile(){
return new ClassB(new FileInputStream(new File("filePath")), revision, .. other arguments);
}
}
public ClassB{
public ClassB(InputStream fileInputStream, String revision, other arguments){
// save the arguments in class variables. Do something with stream
}
}
精慕HU
相关分类