APIdia Launch Partner
Top Description Fields Constructors Methods
jdk.internal.org.jline.utils

public abstract Class NonBlockingInputStream

extends InputStream
Class Inheritance
Known Direct Subclasses
jdk.internal.org.jline.utils.NonBlockingInputStreamImpl, jdk.internal.org.jline.utils.NonBlockingPumpInputStream, jdk.internal.org.jline.terminal.impl.AbstractPty.PtyInputStream, jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.InputStreamWrapper, jdk.internal.org.jline.utils.NonBlocking.NonBlockingReaderInputStream
Imports
java.io.IOException, .InputStream

Non blocking input stream

Field Summary

Modifier and TypeField and Description
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

-1 on eof, -2 if the timeout expired with no available input or the character that was read (without consuming it).
peek
(long
The amount of time to wait, 0 == forever
timeout
)

Peeks to see if there is a byte waiting in the input stream without actually consuming the byte.

public int

Returns:

the next byte of data, or -1 if the end of the stream is reached.
read
()

Implements abstract java.io.InputStream.read.

Reads the next byte of data from the input stream.

public int

Returns:

The character read, -1 if EOF is reached, or -2 if the read timed out.
read
(long
The amount of time to wait for the character
timeout
)

Attempts to read a character from the input stream for a specific period of time.

public int
read(byte[] b, int off, int len)

Overrides java.io.InputStream.read.

Reads up to len bytes of data from the input stream into an array of bytes.

public abstract int
read(long timeout, boolean isPeek)

public int
readBuffered(byte[] b)

public int
readBuffered(byte[] b, long timeout)

public int
readBuffered(byte[] b, int off, int len, long timeout)

public void
shutdown()

Shuts down the thread that is handling blocking I/O if any.

Inherited from java.io.InputStream:
availableclosemarkmarkSupportednullInputStreamreadreadAllBytesreadNBytesreadNBytesresetskipskipNBytestransferTo

Field Detail

EOFback to summary
public static final int EOF
READ_EXPIREDback to summary
public static final int READ_EXPIRED

Constructor Detail

NonBlockingInputStreamback to summary
public NonBlockingInputStream()

Method Detail

peekback to summary
public int peek(long timeout) throws IOException

Peeks to see if there is a byte waiting in the input stream without actually consuming the byte.

Parameters
timeout:long

The amount of time to wait, 0 == forever

Returns:int

-1 on eof, -2 if the timeout expired with no available input or the character that was read (without consuming it).

Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read() throws IOException

Implements abstract java.io.InputStream.read.

Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255. If no byte 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.

Returns:int

the next byte of data, or -1 if the end of the stream is reached.

Annotations
@Override
Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read(long timeout) throws IOException

Attempts to read a character from the input stream for a specific period of time.

Parameters
timeout:long

The amount of time to wait for the character

Returns:int

The character read, -1 if EOF is reached, or -2 if the read timed out.

Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read(byte[] b, int off, int len) throws IOException

Overrides java.io.InputStream.read.

Doc from java.io.InputStream.read.

Reads up to len bytes of data from the input stream into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read. The number of bytes actually read is returned as an integer.

This method blocks until input data is available, end of file is detected, or an exception is thrown.

If len is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b.

The first byte read is stored into element b[off], the next one into b[off+1], and so on. The number of bytes read is, at most, equal to len. Let k be the number of bytes actually read; these bytes will be stored in elements b[off] through b[off+k-1], leaving elements b[off+k] through b[off+len-1] unaffected.

In every case, elements b[0] through b[off-1] and elements b[off+len] through b[b.length-1] are unaffected.

Exceptions
IOException:
If the first byte cannot be read for any reason other than end of file, or if the input stream has been closed, or if some other I/O error occurs.
readback to summary
public abstract int read(long timeout, boolean isPeek) throws IOException
readBufferedback to summary
public int readBuffered(byte[] b) throws IOException
readBufferedback to summary
public int readBuffered(byte[] b, long timeout) throws IOException
readBufferedback to summary
public int readBuffered(byte[] b, int off, int len, long timeout) throws IOException
shutdownback to summary
public void shutdown()

Shuts down the thread that is handling blocking I/O if any. Note that if the thread is currently blocked waiting for I/O it may not actually shut down until the I/O is received.