Added in API level 1

PipedReader

open class PipedReader : Reader
kotlin.Any
   ↳ java.io.Reader
   ↳ java.io.PipedReader

Piped character-input streams.

Summary

Public constructors

Creates a PipedReader so that it is connected to the piped writer src.

PipedReader(src: PipedWriter!, pipeSize: Int)

Creates a PipedReader so that it is connected to the piped writer src and uses the specified pipe size for the pipe's buffer.

Creates a PipedReader so that it is not yet connected.

PipedReader(pipeSize: Int)

Creates a PipedReader so that it is not yet connected and uses the specified pipe size for the pipe's buffer.

Public methods
open Unit

Closes this piped stream and releases any system resources associated with the stream.

open Unit

Causes this piped reader to be connected to the piped writer src.

open Int

Reads the next character of data from this piped stream.

open Int
read(cbuf: CharArray!, off: Int, len: Int)

Reads up to len characters of data from this piped stream into an array of characters.

open Boolean

Tell whether this stream is ready to be read.

Inherited functions
Inherited properties

Public constructors

PipedReader

Added in API level 1
PipedReader(src: PipedWriter!)

Creates a PipedReader so that it is connected to the piped writer src. Data written to src will then be available as input from this stream.

Parameters
src PipedWriter!: the stream to connect to.
Exceptions
java.io.IOException if an I/O error occurs.

PipedReader

Added in API level 9
PipedReader(
    src: PipedWriter!,
    pipeSize: Int)

Creates a PipedReader so that it is connected to the piped writer src and uses the specified pipe size for the pipe's buffer. Data written to src will then be available as input from this stream.

Parameters
src PipedWriter!: the stream to connect to.
pipeSize Int: the size of the pipe's buffer.
Exceptions
java.io.IOException if an I/O error occurs.
java.lang.IllegalArgumentException if pipeSize <= 0.

PipedReader

Added in API level 1
PipedReader()

Creates a PipedReader so that it is not yet connected. It must be connected to a PipedWriter before being used.

PipedReader

Added in API level 9
PipedReader(pipeSize: Int)

Creates a PipedReader so that it is not yet connected and uses the specified pipe size for the pipe's buffer. It must be connected to a PipedWriter before being used.

Parameters
pipeSize Int: the size of the pipe's buffer.
Exceptions
java.lang.IllegalArgumentException if pipeSize <= 0.

Public methods

close

Added in API level 1
open fun close(): Unit

Closes this piped stream and releases any system resources associated with the stream.

Exceptions
java.lang.Exception if this resource cannot be closed
java.io.IOException if an I/O error occurs
java.io.IOException if an I/O error occurs.

connect

Added in API level 1
open fun connect(src: PipedWriter!): Unit

Causes this piped reader to be connected to the piped writer src. If this object is already connected to some other piped writer, an IOException is thrown.

If src is an unconnected piped writer and snk is an unconnected piped reader, they may be connected by either the call:

<code>snk.connect(src)</code>

or the call:

<code>src.connect(snk)</code>

The two calls have the same effect.

Parameters
src PipedWriter!: The piped writer to connect to.
Exceptions
java.io.IOException if an I/O error occurs.

read

Added in API level 1
open fun read(): Int

Reads the next character of data from this piped stream. If no character is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Return
Int the next character of data, or -1 if the end of the stream is reached.
Exceptions
java.io.IOException if the pipe is broken, unconnected, closed, or an I/O error occurs.

read

Added in API level 1
open fun read(
    cbuf: CharArray!,
    off: Int,
    len: Int
): Int

Reads up to len characters of data from this piped stream into an array of characters. Less than len characters will be read if the end of the data stream is reached or if len exceeds the pipe's buffer size. This method blocks until at least one character of input is available.

Parameters
cbuf CharArray!: the buffer into which the data is read.
off Int: the start offset of the data.
len Int: the maximum number of characters read.
Return
Int the total number of characters read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Exceptions
java.io.IOException if the pipe is broken, unconnected, closed, or an I/O error occurs.
java.lang.IndexOutOfBoundsException If off is negative, or len is negative, or len is greater than cbuf.length - off

ready

Added in API level 1
open fun ready(): Boolean

Tell whether this stream is ready to be read. A piped character stream is ready if the circular buffer is not empty.

Return
Boolean True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.
Exceptions
java.io.IOException if the pipe is broken, unconnected, or closed.