Readable (Java SE 22 & JDK 22)
Description: declaration: module: java.base, package: java.lang, interface: Readable
Keywords: java.lang.Readable interface

Module java.base
Package java.lang

# Interface Readable

All Known Implementing Classes:
  `BufferedReader`, `CharArrayReader`, `CharBuffer`, `FileReader`, `FilterReader`, `InputStreamReader`, `LineNumberReader`, `PipedReader`, `PushbackReader`, `Reader`, `StringReader`

public interface Readable
A `Readable` is a source of characters. Characters from a `Readable` are made available to callers of the read method via a `CharBuffer`.

Since:
  1.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `read(CharBuffer cb)`
  Attempts to read characters into the specified character buffer.

- ## Method Details

  - ### read

    int read(CharBuffer cb) throws IOException
    Attempts to read characters into the specified character buffer. The buffer is used as a repository of characters as-is: the only changes made are the results of a put operation. No flipping or rewinding of the buffer is performed. If the length of the specified character buffer is zero, then no characters will be read and zero will be returned.
    Parameters:
      `cb` - the buffer to read characters into
    Returns:
      The number of `char` values added to the buffer, possibly zero, or -1 if this source of characters is at its end
    Throws:
      `IOException` - if an I/O error occurs
      `NullPointerException` - if cb is null
      `ReadOnlyBufferException` - if cb is a read only buffer, even if its length is zero