I/O resource opened but not safely closed
Reports I/O resources that are not safely closed. I/O resources checked by this inspection include java.io.InputStream
, java.io.OutputStream
, java.io.Reader
, java.io.Writer
, java.util.zip.ZipFile
, java.io.Closeable
and java.io.RandomAccessFile
.
I/O resources wrapped by other I/O resources are not reported, as the wrapped resource will be closed by the wrapping resource.
By default, the inspection assumes that the resources can be closed by any method with 'close' or 'cleanup' in its name.
Example:
Use the following options to configure the inspection:
List I/O resource classes that do not need to be closed and should be ignored by this inspection.
Whether an I/O resource is allowed to be opened inside a
try
block. This style is less desirable because it is more verbose than opening a resource in front of atry
block.Whether the resource can be closed by any method call with the resource passed as argument.
Inspection options
Option | Type | Default |
---|---|---|
Ignored I/O resource types | StringList | [java.io.ByteArrayOutputStream, java.io.ByteArrayInputStream, java.io.StringBufferInputStream, java.io.CharArrayWriter, java.io.CharArrayReader, java.io.StringWriter, java.io.StringReader] |
Allow resource to be opened inside a 'try' block | Checkbox | false |
Any method may close resource argument | Checkbox | true |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |