Java 为什么findbugs在流未关闭时不检测?

Java 为什么findbugs在流未关闭时不检测?,java,stream,inputstream,findbugs,spotbugs,Java,Stream,Inputstream,Findbugs,Spotbugs,我有一个用例,我在一个类中创建一个InputStream,并将其传递给另一个类。如果我删除关闭流的finally块,它在findbugs中不会被检测到。为什么呢 Class A { public static void methodA(InputStream is) { // Do something. // The stream is NOT closed. } } Class B { public void methodB(Sting filePath) {

我有一个用例,我在一个类中创建一个
InputStream
,并将其传递给另一个类。如果我删除关闭流的
finally
块,它在findbugs中不会被检测到。为什么呢

Class A {
  public static void methodA(InputStream is) {
    // Do something.
    // The stream is NOT closed.
  }
}

Class B {
  public void methodB(Sting filePath) {
    FileInputStream fis = new FileInputStream(new File(filePath));
    A.methodA(fis);
  }
}

理想情况下,findbugs应该已经检测到此用例中的流未关闭。但是,事实并非如此&我很想知道为什么

我认为这是一个bug,因为
FileInputStream#finalize
甚至没有调用
FileInputStream#close