# Uses of Interface
java.io.Closeable

Packages that use Closeable
Package
Description
com.sun.nio.sctp
A Java API for Stream Control Transport Protocol.
java.io
Provides for system input and output through data streams, serialization and the file system.
java.lang.module
Classes to support module descriptors and creating configurations of modules by means of resolution and service binding.
java.net
Provides the classes for implementing networking applications.
java.nio.channels
Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.channels.spi
Service-provider classes for the `java.nio.channels` package.
java.nio.file
Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
java.rmi.server
Provides classes and interfaces for supporting the server side of RMI.
java.security
Provides the classes and interfaces for the security framework.
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
java.util.jar
Provides classes for reading and writing the JAR (Java ARchive) file format, which is based on the standard ZIP file format with an optional manifest file.
java.util.zip
Provides classes for reading and writing the standard ZIP and GZIP file formats.
javax.crypto
Provides the classes and interfaces for cryptographic operations.
javax.imageio.stream
A package of the Java Image I/O API dealing with low-level I/O from files and streams.
javax.management.loading
Provides the classes which implement advanced dynamic loading.
javax.management.remote
Interfaces for remote access to JMX MBean servers.
javax.management.remote.rmi
The RMI connector is a connector for the JMX Remote API that uses RMI to transmit client requests to a remote MBean server.
javax.net.ssl
Provides classes for the secure socket package.
javax.sound.sampled
Provides interfaces and classes for capture, processing, and playback of sampled audio data.
javax.swing
Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
javax.tools
Provides interfaces for tools which can be invoked from a program, for example, compilers.
jdk.jfr
This package provides classes to create events and control Flight Recorder.
jdk.jfr.consumer
This package contains classes for consuming Flight Recorder data.

## Uses of Closeable in com.sun.nio.sctp

Classes in com.sun.nio.sctp that implement Closeable
Modifier and Type
Class
Description
`class`
`SctpChannel`
A selectable channel for message-oriented connected SCTP sockets.
`class`
`SctpMultiChannel`
A selectable channel for message-oriented SCTP sockets.
`class`
`SctpServerChannel`
A selectable channel for message-oriented listening SCTP sockets.

## Uses of Closeable in java.io

Classes in java.io that implement Closeable
Modifier and Type
Class
Description
`class`
`BufferedInputStream`
A `BufferedInputStream` adds functionality to another input stream-namely, the ability to buffer the input and to support the `mark` and `reset` methods.
`class`
`BufferedOutputStream`
The class implements a buffered output stream.
`class`
`BufferedReader`
Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.
`class`
`BufferedWriter`
Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.
`class`
`ByteArrayInputStream`
A `ByteArrayInputStream` contains an internal buffer that contains bytes that may be read from the stream.
`class`
`ByteArrayOutputStream`
This class implements an output stream in which the data is written into a byte array.
`class`
`CharArrayReader`
This class implements a character buffer that can be used as a character-input stream.
`class`
`CharArrayWriter`
This class implements a character buffer that can be used as an Writer.
`class`
`DataInputStream`
A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way.
`class`
`DataOutputStream`
A data output stream lets an application write primitive Java data types to an output stream in a portable way.
`class`
`FileInputStream`
A `FileInputStream` obtains input bytes from a file in a file system.
`class`
`FileOutputStream`
A file output stream is an output stream for writing data to a `File` or to a `FileDescriptor`.
`class`
`FileReader`
Reads text from character files using a default buffer size.
`class`
`FileWriter`
Writes text to character files using a default buffer size.
`class`
`FilterInputStream`
A `FilterInputStream` contains some other input stream, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
`class`
`FilterOutputStream`
This class is the superclass of all classes that filter output streams.
`class`
`FilterReader`
Abstract class for reading filtered character streams.
`class`
`FilterWriter`
Abstract class for writing filtered character streams.
`class`
`InputStream`
This abstract class is the superclass of all classes representing an input stream of bytes.
`class`
`InputStreamReader`
An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified `charset`.
`class`
`LineNumberInputStream`
Deprecated.
This class incorrectly assumes that bytes adequately represent characters.
`class`
`LineNumberReader`
A buffered character-input stream that keeps track of line numbers.
`class`
`ObjectInputStream`
An ObjectInputStream deserializes primitive data and objects previously written using an ObjectOutputStream.
`class`
`ObjectOutputStream`
An ObjectOutputStream writes primitive data types and graphs of Java objects to an OutputStream.
`class`
`OutputStream`
This abstract class is the superclass of all classes representing an output stream of bytes.
`class`
`OutputStreamWriter`
An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to it are encoded into bytes using a specified `charset`.
`class`
`PipedInputStream`
A piped input stream should be connected to a piped output stream; the piped input stream then provides whatever data bytes are written to the piped output stream.
`class`
`PipedOutputStream`
A piped output stream can be connected to a piped input stream to create a communications pipe.
`class`
`PipedReader`
Piped character-input streams.
`class`
`PipedWriter`
Piped character-output streams.
`class`
`PrintStream`
A `PrintStream` adds functionality to another output stream, namely the ability to print representations of various data values conveniently.
`class`
`PrintWriter`
Prints formatted representations of objects to a text-output stream.
`class`
`PushbackInputStream`
A `PushbackInputStream` adds functionality to another input stream, namely the ability to "push back" or "unread" bytes, by storing pushed-back bytes in an internal buffer.
`class`
`PushbackReader`
A character-stream reader that allows characters to be pushed back into the stream.
`class`
`RandomAccessFile`
Instances of this class support both reading and writing to a random access file.
`class`
`Reader`
Abstract class for reading character streams.
`class`
`SequenceInputStream`
A `SequenceInputStream` represents the logical concatenation of other input streams.
`class`
`StringBufferInputStream`
Deprecated.
This class does not properly convert characters into bytes.
`class`
`StringReader`
A character stream whose source is a string.
`class`
`StringWriter`
A character stream that collects its output in a string buffer, which can then be used to construct a string.
`class`
`Writer`
Abstract class for writing to character streams.

## Uses of Closeable in java.lang.module

Subinterfaces of Closeable in java.lang.module
Modifier and Type
Interface
Description
`interface`
`ModuleReader`
Provides access to the content of a module.

## Uses of Closeable in java.net

Classes in java.net that implement Closeable
Modifier and Type
Class
Description
`class`
`DatagramSocket`
This class represents a socket for sending and receiving datagram packets.
`class`
`MulticastSocket`
A `MulticastSocket` is a datagram socket that is convenient for sending and receiving IP multicast datagrams.
`class`
`ServerSocket`
This class implements server sockets.
`class`
`Socket`
This class implements client sockets (also called just "sockets").
`class`
`URLClassLoader`
This class loader is used to load classes and resources from a search path of URLs referring to both JAR files and directories.

## Uses of Closeable in java.nio.channels

Subinterfaces of Closeable in java.nio.channels
Modifier and Type
Interface
Description
`interface`
`AsynchronousByteChannel`
An asynchronous channel that can read and write bytes.
`interface`
`AsynchronousChannel`
A channel that supports asynchronous I/O operations.
`interface`
`ByteChannel`
A channel that can read and write bytes.
`interface`
`Channel`
A nexus for I/O operations.
`interface`
`GatheringByteChannel`
A channel that can write bytes from a sequence of buffers.
`interface`
`InterruptibleChannel`
A channel that can be asynchronously closed and interrupted.
`interface`
`MulticastChannel`
A network channel that supports Internet Protocol (IP) multicasting.
`interface`
`NetworkChannel`
A channel to a network socket.
`interface`
`ReadableByteChannel`
A channel that can read bytes.
`interface`
`ScatteringByteChannel`
A channel that can read bytes into a sequence of buffers.
`interface`
`SeekableByteChannel`
A byte channel that maintains a current position and allows the position to be changed.
`interface`
`WritableByteChannel`
A channel that can write bytes.
Classes in java.nio.channels that implement Closeable
Modifier and Type
Class
Description
`class`
`AsynchronousFileChannel`
An asynchronous channel for reading, writing, and manipulating a file.
`class`
`AsynchronousServerSocketChannel`
An asynchronous channel for stream-oriented listening sockets.
`class`
`AsynchronousSocketChannel`
An asynchronous channel for stream-oriented connecting sockets.
`class`
`DatagramChannel`
A selectable channel for datagram-oriented sockets.
`class`
`FileChannel`
A channel for reading, writing, mapping, and manipulating a file.
`static class`
`Pipe.SinkChannel`
A channel representing the writable end of a `Pipe`.
`static class`
`Pipe.SourceChannel`
A channel representing the readable end of a `Pipe`.
`class`
`SelectableChannel`
A channel that can be multiplexed via a `Selector`.
`class`
`Selector`
A multiplexor of `SelectableChannel` objects.
`class`
`ServerSocketChannel`
A selectable channel for stream-oriented listening sockets.
`class`
`SocketChannel`
A selectable channel for stream-oriented connecting sockets.

## Uses of Closeable in java.nio.channels.spi

Classes in java.nio.channels.spi that implement Closeable
Modifier and Type
Class
Description
`class`
`AbstractInterruptibleChannel`
Base implementation class for interruptible channels.
`class`
`AbstractSelectableChannel`
Base implementation class for selectable channels.
`class`
`AbstractSelector`
Base implementation class for selectors.

## Uses of Closeable in java.nio.file

Subinterfaces of Closeable in java.nio.file
Modifier and Type
Interface
Description
`interface`
`DirectoryStream<T>`
An object to iterate over the entries in a directory.
`interface`
`SecureDirectoryStream<T>`
A `DirectoryStream` that defines operations on files that are located relative to an open directory.
`interface`
`WatchService`
A watch service that watches registered objects for changes and events.
Classes in java.nio.file that implement Closeable
Modifier and Type
Class
Description
`class`
`FileSystem`
Provides an interface to a file system and is the factory for objects to access files and other objects in the file system.

## Uses of Closeable in java.rmi.server

Classes in java.rmi.server that implement Closeable
Modifier and Type
Class
Description
`class`
`LogStream`
Deprecated.
no replacement

## Uses of Closeable in java.security

Classes in java.security that implement Closeable
Modifier and Type
Class
Description
`class`
`DigestInputStream`
A transparent stream that updates the associated message digest using the bits going through the stream.
`class`
`DigestOutputStream`
A transparent stream that updates the associated message digest using the bits going through the stream.

## Uses of Closeable in java.util

Classes in java.util that implement Closeable
Modifier and Type
Class
Description
`final class`
`Formatter`
An interpreter for printf-style format strings.
`final class`
`Scanner`
A simple text scanner which can parse primitive types and strings using regular expressions.

## Uses of Closeable in java.util.jar

Classes in java.util.jar that implement Closeable
Modifier and Type
Class
Description
`class`
`JarFile`
The `JarFile` class is used to read the contents of a jar file from any file that can be opened with `java.io.RandomAccessFile`.
`class`
`JarInputStream`
The `JarInputStream` class is used to read the contents of a JAR file from any input stream.
`class`
`JarOutputStream`
The `JarOutputStream` class is used to write the contents of a JAR file to any output stream.

## Uses of Closeable in java.util.zip

Classes in java.util.zip that implement Closeable
Modifier and Type
Class
Description
`class`
`CheckedInputStream`
An input stream that also maintains a checksum of the data being read.
`class`
`CheckedOutputStream`
An output stream that also maintains a checksum of the data being written.
`class`
`DeflaterInputStream`
Implements an input stream filter for compressing data in the "deflate" compression format.
`class`
`DeflaterOutputStream`
This class implements an output stream filter for compressing data in the "deflate" compression format.
`class`
`GZIPInputStream`
This class implements a stream filter for reading compressed data in the GZIP file format.
`class`
`GZIPOutputStream`
This class implements a stream filter for writing compressed data in the GZIP file format.
`class`
`InflaterInputStream`
This class implements a stream filter for uncompressing data in the "deflate" compression format.
`class`
`InflaterOutputStream`
Implements an output stream filter for uncompressing data stored in the "deflate" compression format.
`class`
`ZipFile`
This class is used to read entries from a zip file.
`class`
`ZipInputStream`
This class implements an input stream filter for reading files in the ZIP file format.
`class`
`ZipOutputStream`
This class implements an output stream filter for writing files in the ZIP file format.

## Uses of Closeable in javax.crypto

Classes in javax.crypto that implement Closeable
Modifier and Type
Class
Description
`class`
`CipherInputStream`
A CipherInputStream is composed of an InputStream and a Cipher so that read() methods return data that are read in from the underlying InputStream but have been additionally processed by the Cipher.
`class`
`CipherOutputStream`
A CipherOutputStream is composed of an OutputStream and a Cipher so that write() methods first process the data before writing them out to the underlying OutputStream.

## Uses of Closeable in javax.imageio.stream

Subinterfaces of Closeable in javax.imageio.stream
Modifier and Type
Interface
Description
`interface`
`ImageInputStream`
A seekable input stream interface for use by `ImageReader`s.
`interface`
`ImageOutputStream`
A seekable output stream interface for use by `ImageWriter`s.
Classes in javax.imageio.stream that implement Closeable
Modifier and Type
Class
Description
`class`
`FileCacheImageInputStream`
An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
`class`
`FileCacheImageOutputStream`
An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.
`class`
`FileImageInputStream`
An implementation of `ImageInputStream` that gets its input from a `File` or `RandomAccessFile`.
`class`
`FileImageOutputStream`
An implementation of `ImageOutputStream` that writes its output directly to a `File` or `RandomAccessFile`.
`class`
`ImageInputStreamImpl`
An abstract class implementing the `ImageInputStream` interface.
`class`
`ImageOutputStreamImpl`
An abstract class implementing the `ImageOutputStream` interface.
`class`
`MemoryCacheImageInputStream`
An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
`class`
`MemoryCacheImageOutputStream`
An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.

## Uses of Closeable in javax.management.loading

Classes in javax.management.loading that implement Closeable
Modifier and Type
Class
Description
`class`
`MLet`
Allows you to instantiate and register one or several MBeans in the MBean server coming from a remote URL.
`class`
`PrivateMLet`
An MLet that is not added to the `ClassLoaderRepository`.

## Uses of Closeable in javax.management.remote

Subinterfaces of Closeable in javax.management.remote
Modifier and Type
Interface
Description
`interface`
`JMXConnector`
The client end of a JMX API connector.

## Uses of Closeable in javax.management.remote.rmi

Subinterfaces of Closeable in javax.management.remote.rmi
Modifier and Type
Interface
Description
`interface`
`RMIConnection`
RMI object used to forward an MBeanServer request from a client to its MBeanServer implementation on the server side.
Classes in javax.management.remote.rmi that implement Closeable
Modifier and Type
Class
Description
`class`
`RMIConnectionImpl`
Implementation of the `RMIConnection` interface.
`final class`
`RMIConnectionImpl_Stub`
RMIConnectionImpl remote stub.
`class`
`RMIConnector`
A connection to a remote RMI connector.
`class`
`RMIIIOPServerImpl`
Deprecated.
This transport is no longer supported.
`class`
`RMIJRMPServerImpl`
An `RMIServer` object that is exported through JRMP and that creates client connections as RMI objects exported through JRMP.
`class`
`RMIServerImpl`
An RMI object representing a connector server.

## Uses of Closeable in javax.net.ssl

Classes in javax.net.ssl that implement Closeable
Modifier and Type
Class
Description
`class`
`SSLServerSocket`
This class extends `ServerSocket` and provides secure server sockets using protocols such as the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocols.
`class`
`SSLSocket`
This class extends `Socket` and provides secure sockets using protocols such as the "Secure Sockets Layer" (SSL) or IETF "Transport Layer Security" (TLS) protocols.

## Uses of Closeable in javax.sound.sampled

Classes in javax.sound.sampled that implement Closeable
Modifier and Type
Class
Description
`class`
`AudioInputStream`
An audio input stream is an input stream with a specified audio format and length.

## Uses of Closeable in javax.swing

Classes in javax.swing that implement Closeable
Modifier and Type
Class
Description
`class`
`ProgressMonitorInputStream`
Monitors the progress of reading from some InputStream.

## Uses of Closeable in javax.tools

Subinterfaces of Closeable in javax.tools
Modifier and Type
Interface
Description
`interface`
`JavaFileManager`
File manager for tools operating on Java programming language source and class files.
`interface`
`StandardJavaFileManager`
File manager based on `java.io.File` and `java.nio.file.Path`.
Classes in javax.tools that implement Closeable
Modifier and Type
Class
Description
`class`
`ForwardingJavaFileManager<M extends JavaFileManager>`
Forwards calls to a given file manager.

## Uses of Closeable in jdk.jfr

Classes in jdk.jfr that implement Closeable
Modifier and Type
Class
Description
`final class`
`Recording`
Provides means to configure, start, stop and dump recording data to disk.

## Uses of Closeable in jdk.jfr.consumer

Classes in jdk.jfr.consumer that implement Closeable
Modifier and Type
Class
Description
`final class`
`RecordingFile`
A recording file.