java.lang.Object java.io.OutputStream java.io.PipedOutputStream
public class PipedOutputStream
可以将管道输出流连接到管道输入流来创建通信管道。管道输出流是管道的发送端。通常,数据由某个线程写入 PipedOutputStream
对象,并由其他线程从连接的 PipedInputStream
读取。不建议对这两个对象尝试使用单个线程,因为这样可能会造成该线程死锁。如果某个线程正从连接的管道输入流中读取数据字节,但该线程不再处于活动状态,则该管道被视为处于 毁坏 状态。
PipedInputStream
构造方法摘要 | |
---|---|
PipedOutputStream() 创建尚未连接到管道输入流的管道输出流。 |
|
PipedOutputStream(PipedInputStream snk) 创建连接到指定管道输入流的管道输出流。 |
方法摘要 | |
---|---|
void |
close() 关闭此管道输出流并释放与此流有关的所有系统资源。 |
void |
connect(PipedInputStream snk) 将此管道输出流连接到接收者。 |
void |
flush() 刷新此输出流并强制写出所有缓冲的输出字节。 |
void |
write(byte[] b, int off, int len) 将 len 字节从初始偏移量为 off 的指定 byte 数组写入该管道输出流。 |
void |
write(int b) 将指定 byte 写入传送的输出流。 |
从类 java.io.OutputStream 继承的方法 |
---|
write |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public PipedOutputStream(PipedInputStream snk) throws IOException
snk
的输入。
snk
- 要连接的管道输入流。
IOException
- 如果发生 I/O 错误。
public PipedOutputStream()
方法详细信息 |
---|
public void connect(PipedInputStream snk) throws IOException
IOException
。
如果 snk
是未连接的管道输入流,而 src
是未连接的管道输出流,则可以通过以下调用之一连接它们:
或:src.connect(snk)
这两个调用的效果相同。snk.connect(src)
snk
- 要连接的管道输入流。
IOException
- 如果发生 I/O 错误。
public void write(int b) throws IOException
byte
写入传送的输出流。
实现 OutputStream
的 write
方法。
OutputStream
中的
write
b
- 要写入的
byte
。
IOException
- 如果管道处于
毁坏或
未连接
状态,或者发生 I/O 错误。
public void write(byte[] b, int off, int len) throws IOException
len
字节从初始偏移量为
off
的指定 byte 数组写入该管道输出流。在将所有字节写入输出流之前,此方法一直处于阻塞状态。
OutputStream
中的
write
b
- 数据。
off
- 数据中的初始偏移量。
len
- 要写入的字节数。
IOException
- 如果管道处于
毁坏或
未连接
状态,或者发生 I/O 错误。
public void flush() throws IOException
Flushable
中的
flush
OutputStream
中的
flush
IOException
- 如果发生 I/O 错误。
public void close() throws IOException
Closeable
中的
close
OutputStream
中的
close
IOException
- 如果发生 I/O 错误。