## Uses of Interface
java.lang.AutoCloseable

- Packages that use AutoCloseable
  Package | Description
  --- | ---
  java.io |
  java.util.stream | Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.

- - ### Uses of AutoCloseable in java.io

    Subinterfaces of AutoCloseable in java.io
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Closeable` A `Closeable` is a source or destination of data that can be closed.
    `interface` | `ObjectInput` ObjectInput extends the DataInput interface to include the reading of objects.
    `interface` | `ObjectOutput` ObjectOutput extends the DataOutput interface to include writing of objects.

    Classes in java.io that implement AutoCloseable
    Modifier and Type | Class and 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` | `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` Convenience class for reading character files.
    `class` | `FileWriter` Convenience class for writing character files.
    `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. As of JDK 1.1, the preferred way to operate on character streams is via the new character-stream classes, which include a class for counting line numbers.
    `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` | `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" one byte.
    `class` | `Reader` Abstract class for reading character streams.
    `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 AutoCloseable in java.util.stream

    Subinterfaces of AutoCloseable in java.util.stream
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BaseStream<T,S extends BaseStream<T,S>>` Base interface for streams, which are sequences of elements supporting sequential and parallel aggregate operations.
    `interface` | `DoubleStream` A sequence of primitive double-valued elements supporting sequential and parallel aggregate operations.
    `interface` | `IntStream` A sequence of primitive int-valued elements supporting sequential and parallel aggregate operations.
    `interface` | `LongStream` A sequence of primitive long-valued elements supporting sequential and parallel aggregate operations.
    `interface` | `Stream<T>` A sequence of elements supporting sequential and parallel aggregate operations.

Copyright © 2025 API Design. All Rights Reserved.