如果我有一個servlet下面的代碼:FindBugs的「方法可能無法關閉流」使用的getResourceAsStream
Properties p = new Properties();
p.load(getClass().getResourceAsStream("/test.properties"));
如果我運行通過FindBugs的servlet的,我希望得到警告OS_OPEN_STREAM,但我不。如果我使用類似的方法來打開文件系統上的(即不是在classpath中)一個任意文件,我得到FindBugs的警告如預期:
Properties p = new Properties();
p.load(new FileInputStream(new File("c:/test.properties")));
在第一個例子,就是警告缺席,因爲FindBugs的缺失一個有效的警告(也就是說,我應該在加載到Properties對象後關閉finally塊中的流)還是有一個原因,我不需要關閉流?
感謝
豐富
我相信這只是findbug部分的一個疏忽。關閉流。 – MeBigFatGuy 2010-07-29 21:06:28