Sonar violation: “Method may fail to close stream on exception”

前端 未结 4 1400
青春惊慌失措
青春惊慌失措 2021-01-28 00:15

I have this method:

 private void unZipElementsTo(String inputZipFileName, String destPath) throws FileNotFoundException, IOException {

        OutputStream out         


        
4条回答
  •  后悔当初
    2021-01-28 00:43

    Alternatively if you're using Java 7 or better, you can use the new try-with-resources mechanism, which handles the close for you. See: http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html for details on this new mechanism.

    Note that try-with-resources also works with multiple objects that are opened and closed and still preserves the guarantee that objects will be closed in the reverse order of their construction. Quoth that same page:

    Note that the close methods of resources are called in the opposite order of their creation.

提交回复
热议问题