## org.python.core.io
Class StreamIO

    java.lang.Object
      org.python.core.io.IOBase
          org.python.core.io.RawIOBase
              org.python.core.io.StreamIO

    public class StreamIO

extends RawIOBase

Raw I/O implementation for simple streams. Supports Input/Outputstreams and Readable/WritableByteChannels.

Author:
  Philip Jenvey

Field Summary

Fields inherited from class org.python.core.io.IOBase
`DEFAULT_BUFFER_SIZE`

Constructor Summary
`StreamIO(InputStream inputStream, boolean closefd)` Construct a StreamIO for the given read/write streams.
`StreamIO(OutputStream outputStream, boolean closefd)` Construct a StreamIO for the given read/write streams.
`StreamIO(ReadableByteChannel readChannel)` Construct a StreamIO for the given read channel.
`StreamIO(ReadableByteChannel readChannel, boolean closefd)` Construct a StreamIO for the given read channel.
`StreamIO(WritableByteChannel writeChannel)` Construct a StreamIO for the given write channel.
`StreamIO(WritableByteChannel writeChannel, boolean closefd)` Construct a StreamIO for the given write channel.

Method Summary
`InputStream` `asInputStream()` Coerce this into an InputStream if possible, or return null.
`OutputStream` `asOutputStream()` Coerce this into an OutputStream if possible, or return null.
`void` `close()` Flushes and closes the IO object.
`void` `flush()` Flushes write buffers, if applicable.
`Channel` `getChannel()` Return the underlying Java nio Channel.
`boolean` `isatty()` Returns whether this is an 'interactive' stream.
`boolean` `readable()` Return whether this file was opened for reading.
`int` `readinto(ByteBuffer buf)` Read up to buf.remaining() bytes into buf.
`boolean` `writable()` Return whether this file was opened for writing.
`int` `write(ByteBuffer buf)` Write the given ByteBuffer to the IO stream.

Methods inherited from class org.python.core.io.RawIOBase
`fileno, read, readall, readinto, write`

Methods inherited from class org.python.core.io.IOBase
`checkClosed, checkReadable, checkWritable, closed, seek, seek, tell, truncate`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StreamIO

    public StreamIO(ReadableByteChannel readChannel,
                    boolean closefd)

  Construct a StreamIO for the given read channel.

  Parameters:
    `readChannel` - a ReadableByteChannel
    `closefd` - boolean whether the underlying file is closed on close() (defaults to True)

### StreamIO

    public StreamIO(ReadableByteChannel readChannel)

  Construct a StreamIO for the given read channel.

  Parameters:
    `readChannel` - a ReadableByteChannel

### StreamIO

    public StreamIO(WritableByteChannel writeChannel,
                    boolean closefd)

  Construct a StreamIO for the given write channel.

  Parameters:
    `writeChannel` - a WritableByteChannel
    `closefd` - boolean whether the underlying file is closed on close() (defaults to True)

### StreamIO

    public StreamIO(WritableByteChannel writeChannel)

  Construct a StreamIO for the given write channel.

  Parameters:
    `writeChannel` - a WritableByteChannel

### StreamIO

    public StreamIO(InputStream inputStream,
                    boolean closefd)

  Construct a StreamIO for the given read/write streams.

  Parameters:
    `inputStream` - an InputStream
    `closefd` - boolean whether the underlying file is closed on close() (defaults to True)

### StreamIO

    public StreamIO(OutputStream outputStream,
                    boolean closefd)

  Construct a StreamIO for the given read/write streams.

  Parameters:
    `outputStream` - an OutputStream
    `closefd` - boolean whether the underlying file is closed on close() (defaults to True)

Method Detail

### readinto

    public int readinto(ByteBuffer buf)

  Description copied from class: `RawIOBase`
  Read up to buf.remaining() bytes into buf. Returns number of bytes read (0 for EOF).

  Overrides:
    `readinto` in class `RawIOBase`
  Parameters:
    `buf` - a ByteBuffer to read bytes into
  Returns:
    the amount of data read as an int

### write

    public int write(ByteBuffer buf)

  Description copied from class: `RawIOBase`
  Write the given ByteBuffer to the IO stream. Returns the number of bytes written, which may be less than buf.remaining().

  Overrides:
    `write` in class `RawIOBase`
  Parameters:
    `buf` - a ByteBuffer value
  Returns:
    the number of bytes written as an int

### 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`

### 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

### asOutputStream

    public OutputStream asOutputStream()

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

  Overrides:
    `asOutputStream` in class `IOBase`

### asInputStream

    public InputStream asInputStream()

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

  Overrides:
    `asInputStream` in class `IOBase`

### getChannel

    public Channel getChannel()

  Description copied from class: `RawIOBase`
  Return the underlying Java nio Channel.

  Specified by:
    `getChannel` in class `RawIOBase`
  Returns:
    the underlying Java nio Channel

Jython homepage