Uses of Interface java.io.Flushable (Java SE 12 & JDK 12 )

## Uses of Interface
java.io.Flushable

- Packages that use Flushable
  Package | Description
  --- | ---
  java.io | Provides for system input and output through data streams, serialization and the file system.
  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.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.

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

    Classes in java.io that implement Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BufferedOutputStream` | The class implements a buffered output stream.
    `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` | `ByteArrayOutputStream` | This class implements an output stream in which the data is written into a byte array.
    `class` | `CharArrayWriter` | This class implements a character buffer that can be used as an Writer.
    `class` | `Console` | Methods to access the character-based console device, if any, associated with the current Java virtual machine.
    `class` | `DataOutputStream` | A data output stream lets an application write primitive Java data types to an output stream in a portable way.
    `class` | `FileOutputStream` | A file output stream is an output stream for writing data to a `File` or to a `FileDescriptor`.
    `class` | `FileWriter` | Writes text to character files using a default buffer size.
    `class` | `FilterOutputStream` | This class is the superclass of all classes that filter output streams.
    `class` | `FilterWriter` | Abstract class for writing filtered character streams.
    `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` | `PipedOutputStream` | A piped output stream can be connected to a piped input stream to create a communications pipe.
    `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` | `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 Flushable in java.rmi.server

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

  - ### Uses of Flushable in java.security

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

  - ### Uses of Flushable in java.util

    Classes in java.util that implement Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Formatter` | An interpreter for printf-style format strings.

  - ### Uses of Flushable in java.util.jar

    Classes in java.util.jar that implement Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JarOutputStream` | The `JarOutputStream` class is used to write the contents of a JAR file to any output stream.

  - ### Uses of Flushable in java.util.zip

    Classes in java.util.zip that implement Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CheckedOutputStream` | An output stream that also maintains a checksum of the data being written.
    `class` | `DeflaterOutputStream` | This class implements an output stream filter for compressing data in the "deflate" compression format.
    `class` | `GZIPOutputStream` | This class implements a stream filter for writing compressed data in the GZIP file format.
    `class` | `InflaterOutputStream` | Implements an output stream filter for uncompressing data stored in the "deflate" compression format.
    `class` | `ZipOutputStream` | This class implements an output stream filter for writing files in the ZIP file format.

  - ### Uses of Flushable in javax.crypto

    Classes in javax.crypto that implement Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `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 Flushable in javax.tools

    Subinterfaces of Flushable 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 Flushable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ForwardingJavaFileManager<M extends JavaFileManager>` | Forwards calls to a given file manager.