Package org.python.core.io

## Class TextIOBase

- java.lang.Object
- - org.python.core.io.IOBase
  - - org.python.core.io.TextIOBase

- Direct Known Subclasses:
    `BinaryIOWrapper`, `UniversalIOWrapper`

      public abstract class TextIOBase
      extends IOBase

  Base class for text I/O. This class provides a character and line based interface to stream I/O.
  Author:
    Philip Jenvey

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `CHUNK_SIZE` | The size of chunks read for readline

    - ### Fields inherited from class org.python.core.io.IOBase

      `DEFAULT_BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TextIOBase​(BufferedIOBase bufferedIO)` | Contruct a TextIOBase wrapping the given BufferedIOBase.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.io.InputStream` | `asInputStream()` | Coerce this into an InputStream if possible, or return null.
    `java.io.OutputStream` | `asOutputStream()` | Coerce this into an OutputStream if possible, or return null.
    `void` | `close()` | Flushes and closes the IO object.
    `boolean` | `closed()` | Return whether this file has been closed.
    `RawIOBase` | `fileno()` | Returns underlying file descriptor if one exists.
    `void` | `flush()` | Flushes write buffers, if applicable.
    `PyObject` | `getNewlines()` | Return the known Newline types, as a PyObject, encountered while reading this file.
    `boolean` | `isatty()` | Returns whether this is an 'interactive' stream.
    `java.lang.String` | `read​(int size)` | Read and return up to size bytes, contained in a String.
    `boolean` | `readable()` | Return whether this file was opened for reading.
    `java.lang.String` | `readall()` | Read until EOF.
    `int` | `readinto​(PyObject buf)` | Read into the given PyObject that implements the Jython buffer API (with write access) or is a PyArray.
    `java.lang.String` | `readline​(int size)` | Read until size, newline or EOF.
    `long` | `seek​(long pos, int whence)` | Seek to byte offset pos relative to position indicated by whence: 0 Start of stream (the default). pos should be >= 0; 1 Current position - whence may be negative; 2 End of stream - whence usually negative.
    `long` | `tell()` | Return the current stream position.
    `long` | `truncate​(long pos)` | Truncate file to size in bytes.
    `boolean` | `writable()` | Return whether this file was opened for writing.
    `int` | `write​(java.lang.String buf)` | Write the given String to the IO stream.

    - ### Methods inherited from class org.python.core.io.IOBase

      `checkClosed, checkReadable, checkWritable, seek`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CHUNK_SIZE

          public static final int CHUNK_SIZE

      The size of chunks read for readline
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TextIOBase

          public TextIOBase​(BufferedIOBase bufferedIO)

      Contruct a TextIOBase wrapping the given BufferedIOBase.
      Parameters:
        `bufferedIO` - a BufferedIOBase to wrap

  - ### Method Detail

    - #### read

          public java.lang.String read​(int size)

      Read and return up to size bytes, contained in a String. Returns an empty String on EOF
      Parameters:
        `size` - the number of bytes to read
      Returns:
        a String containing the bytes read

    - #### readall

          public java.lang.String readall()

      Read until EOF.
      Returns:
        a String containing the bytes read

    - #### readline

          public java.lang.String readline​(int size)

      Read until size, newline or EOF. Returns an empty string if EOF is hit immediately.
      Parameters:
        `size` - the number of bytes to read
      Returns:
        a String containing the bytes read

    - #### readinto

          public int readinto​(PyObject buf)

      Read into the given PyObject that implements the Jython buffer API (with write access) or is a PyArray.
      Parameters:
        `buf` - a PyObject compatible with the buffer API
      Returns:
        the amount of data read as an int

    - #### write

          public int write​(java.lang.String buf)

      Write the given String to the IO stream. Returns the number of characters written.
      Parameters:
        `buf` - a String value
      Returns:
        the number of characters written as an int

    - #### truncate

          public long truncate​(long pos)

      Description copied from class: `IOBase`
      Truncate file to size in bytes. Returns the new size.
      Overrides:
        `truncate` in class `IOBase`
      Parameters:
        `pos` - a long size to truncate to
      Returns:
        a long size value the file was truncated to

    - #### flush

          public void flush()

      Description copied from class: `IOBase`
      Flushes write buffers, if applicable. This is a no-op for read-only and non-blocking streams.
      Overrides:
        `flush` in class `IOBase`

    - #### close

          public void close()

      Description copied from class: `IOBase`
      Flushes and closes the IO object. This must be idempotent. It should also set a flag for the 'closed' property (see below) to test.
      Overrides:
        `close` in class `IOBase`

    - #### seek

          public long seek​(long pos,
                           int whence)

      Description copied from class: `IOBase`
      Seek to byte offset pos relative to position indicated by whence: 0 Start of stream (the default). pos should be >= 0; 1 Current position - whence may be negative; 2 End of stream - whence usually negative. Returns the new absolute position.
      Overrides:
        `seek` in class `IOBase`
      Parameters:
        `pos` - a long position value
        `whence` - an int whence value
      Returns:
        a long position value seeked to

    - #### tell

          public long tell()

      Description copied from class: `IOBase`
      Return the current stream position.
      Overrides:
        `tell` in class `IOBase`
      Returns:
        a long position value

    - #### fileno

          public RawIOBase fileno()

      Description copied from class: `IOBase`
      Returns underlying file descriptor if one exists. Raises IOError if the IO object does not use a file descriptor.
      Overrides:
        `fileno` in class `IOBase`
      Returns:
        a file descriptor

    - #### isatty

          public boolean isatty()

      Description copied from class: `IOBase`
      Returns whether this is an 'interactive' stream. Returns False if we don't know.
      Overrides:
        `isatty` in class `IOBase`
      Returns:
        a boolean, true if an 'interactive' stream

    - #### readable

          public boolean readable()

      Description copied from class: `IOBase`
      Return whether this file was opened for reading.
      Overrides:
        `readable` in class `IOBase`
      Returns:
        true if the file was opened for reading

    - #### writable

          public boolean writable()

      Description copied from class: `IOBase`
      Return whether this file was opened for writing.
      Overrides:
        `writable` in class `IOBase`
      Returns:
        true if the file was opened for writing

    - #### closed

          public boolean closed()

      Description copied from class: `IOBase`
      Return whether this file has been closed.
      Overrides:
        `closed` in class `IOBase`
      Returns:
        true if the file has been closed

    - #### asInputStream

          public java.io.InputStream asInputStream()

      Description copied from class: `IOBase`
      Coerce this into an InputStream if possible, or return null.
      Overrides:
        `asInputStream` in class `IOBase`

    - #### asOutputStream

          public java.io.OutputStream asOutputStream()

      Description copied from class: `IOBase`
      Coerce this into an OutputStream if possible, or return null.
      Overrides:
        `asOutputStream` in class `IOBase`

    - #### getNewlines

          public PyObject getNewlines()

      Return the known Newline types, as a PyObject, encountered while reading this file. Returns None for all modes except universal newline mode.
      Returns:
        a PyObject containing all encountered Newlines, or None