ReaderChannel

A JVM AbstractInputChannel reading one character at a time from reader (or from inputStream, wrapped into one), reporting available as false (rather than throwing) if the underlying Reader raises an IOException.

Constructors

Link copied to clipboard
constructor(reader: Reader)
constructor(inputStream: InputStream)

Properties

Link copied to clipboard
open override val available: Boolean
Link copied to clipboard
override var isClosed: Boolean

Whether this channel has been closed.

Link copied to clipboard
open override val isOver: Boolean
Link copied to clipboard
Link copied to clipboard
open override val streamTerm: Struct

The Prolog $stream(Direction, Id)-like Struct term identifying this channel, e.g. for current_output/1.

Functions

Link copied to clipboard
open override fun addListener(listener: Listener<String?>)

Registers listener to be invoked with every element subsequently transiting this channel.

Link copied to clipboard
open override fun clearListeners()

Unregisters every currently-registered Listener.

Link copied to clipboard
open override fun close()
Link copied to clipboard
override fun peek(): String?
Link copied to clipboard
override fun read(): String?
Link copied to clipboard
open override fun removeListener(listener: Listener<String?>)

Unregisters listener, previously added via addListener.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open fun <R> use(function: InputChannel<String>.() -> R): R

Runs function against this channel, closeing it once function returns normally (not on exceptions).