? QueueInputStream
java.lang.Object
java.io.InputStream
org.apache.commons.io.input.QueueInputStream
- ????????:
Closeable
,AutoCloseable
Simple alternative to JDK
PipedInputStream
; queue input stream provides what's written in queue
output stream.
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
.
- ???????:
- 2.9.0
- ????:
-
?????
????????Constructs a new instance with no limit to its internal buffer size.QueueInputStream
(BlockingQueue<Integer> blockingQueue) Constructs a new instance with given buffer -
????
??????????Creates a new QueueOutputStream instance connected to this.int
read()
Reads and returns a single byte.??????? java.io.InputStream
available, close, mark, markSupported, nullInputStream, read, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
???????
-
QueueInputStream
public QueueInputStream()Constructs a new instance with no limit to its internal buffer size. -
QueueInputStream
Constructs a new instance with given buffer- ??:
blockingQueue
- backing queue for the stream
-
-
??????
-
newQueueOutputStream
Creates a new QueueOutputStream instance connected to this. Writes to the output stream will be visible to this input stream.- ??:
- QueueOutputStream connected to this stream
-
read
Reads and returns a single byte.- ???:
read
???InputStream
- ??:
- either the byte read or
-1
if the end of the stream has been reached
-