org.apache.commons.io.output
Class QueueOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.io.output.QueueOutputStream
-
- All Implemented Interfaces:
- Closeable, Flushable, AutoCloseable
public class QueueOutputStream extends OutputStream
Simple alternative to JDKPipedOutputStream
; queue input stream provides what's written in queue output stream.Example usage:
QueueOutputStream outputStream = new QueueOutputStream(); QueueInputStream inputStream = outputStream.newPipeInputStream(); outputStream.write("hello world".getBytes(UTF_8)); inputStream.read();
Unlike JDKPipedInputStream
andPipedOutputStream
, 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
QueueOutputStream
has no effect. The methods in this class can be called after the stream has been closed without generating anIOException
.- Since:
- 2.9.0
- See Also:
-
QueueInputStream
-
Constructor Summary
Constructors Constructor and Description QueueOutputStream()
Constructs a new instance with no limit to internal buffer size.QueueOutputStream(BlockingQueue<Integer> blockingQueue)
Constructs a new instance with given buffer.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description QueueInputStream
newQueueInputStream()
Creates a new QueueInputStream instance connected to this.void
write(int b)
Writes a single byte.Methods inherited from class java.io.OutputStream
close, flush, write, write
-
Constructor Detail
QueueOutputStream
public QueueOutputStream()
Constructs a new instance with no limit to internal buffer size.
QueueOutputStream
public QueueOutputStream(BlockingQueue<Integer> blockingQueue)
Constructs a new instance with given buffer.- Parameters:
-
blockingQueue
- backing queue for the stream
Method Detail
newQueueInputStream
public QueueInputStream newQueueInputStream()
Creates a new QueueInputStream instance connected to this. Writes to this output stream will be visible to the input stream.- Returns:
- QueueInputStream connected to this stream
write
public void write(int b) throws InterruptedIOException
Writes a single byte.- Specified by:
-
write
in classOutputStream
- Throws:
-
InterruptedIOException
- if the thread is interrupted while writing to the queue.
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.