public class QueueInputStream
extends java.io.InputStream
PipedInputStream
; queue input stream provides what's written in queue output stream.
To build an instance, see QueueInputStream.Builder
.
Example usage:
QueueInputStream inputStream = new QueueInputStream(); QueueOutputStream outputStream = inputStream.newQueueOutputStream(); outputStream.write("hello world".getBytes(UTF_8)); inputStream.read();
Unlike JDK PipedInputStream
and PipedOutputStream
, queue input/output streams may be used safely in a single thread or multiple threads.
Also, unlike JDK classes, no special meaning is attached to initial or current thread. Instances can be used longer after initial threads exited.
Closing a QueueInputStream
has no effect. The methods in this class can be called after the stream has been closed without generating an
IOException
.
QueueOutputStream
Modifier and Type | Class and Description |
---|---|
static class |
QueueInputStream.Builder
Builds a new
QueueInputStream instance. |
Constructor and Description |
---|
QueueInputStream()
Constructs a new instance with no limit to its internal queue size and zero timeout.
|
QueueInputStream(java.util.concurrent.BlockingQueue<java.lang.Integer> blockingQueue)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
static QueueInputStream.Builder |
builder()
Constructs a new
QueueInputStream.Builder . |
QueueOutputStream |
newQueueOutputStream()
Creates a new QueueOutputStream instance connected to this.
|
int |
read()
Reads and returns a single byte.
|
public QueueInputStream()
@Deprecated public QueueInputStream(java.util.concurrent.BlockingQueue<java.lang.Integer> blockingQueue)
builder()
, QueueInputStream.Builder
, and QueueInputStream.Builder.get()
.blockingQueue
- backing queue for the stream.public static QueueInputStream.Builder builder()
QueueInputStream.Builder
.QueueInputStream.Builder
.public QueueOutputStream newQueueOutputStream()
public int read()
read
in class java.io.InputStream
-1
if a timeout occurs before a queue element is available.java.lang.IllegalStateException
- if thread is interrupted while waiting.Copyright © 2010 - 2023 Adobe. All Rights Reserved