- java.lang.Object
-
- java.io.OutputStream
-
- java.io.PipedOutputStream
-
- 实现的所有接口
-
Closeable
,Flushable
,AutoCloseable
public class PipedOutputStream extends OutputStream
管道输出流可以连接到管道输入流以创建通信管道。 管道输出流是管道的发送端。 通常,数据由一个线程写入PipedOutputStream
对象,并且由其他线程从连接的PipedInputStream
读取数据。 建议不要尝试使用单个线程中的两个对象,因为它可能使线程死锁。 如果从连接的管道输入流读取数据字节的线程不再存在, 则称该管道为broken 。- 从以下版本开始:
- 1.0
- 另请参见:
-
PipedInputStream
-
-
构造方法摘要
构造方法 构造器 描述 PipedOutputStream()
创建尚未连接到管道输入流的管道输出流。PipedOutputStream(PipedInputStream snk)
创建连接到指定管道输入流的管道输出流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
close()
关闭此管道输出流并释放与此流关联的所有系统资源。void
connect(PipedInputStream snk)
将此管道输出流连接到接收器。void
flush()
刷新此输出流并强制写出任何缓冲的输出字节。void
write(byte[] b, int off, int len)
将从偏移off
开始的指定字节数组中的len
字节写入此管道输出流。void
write(int b)
将指定的byte
写入管道输出流。-
声明方法的类 java.io.OutputStream
nullOutputStream, write
-
-
-
-
构造方法详细信息
-
PipedOutputStream
public PipedOutputStream(PipedInputStream snk) throws IOException
创建连接到指定管道输入流的管道输出流。 写入此流的数据字节将作为输入从snk
。- 参数
-
snk
- 要连接的管道输入流。 - 异常
-
IOException
- 如果发生I / O错误。
-
PipedOutputStream
public PipedOutputStream()
创建尚未连接到管道输入流的管道输出流。 在使用之前,它必须由接收器或发送器连接到管道输入流。
-
-
方法详细信息
-
connect
public void connect(PipedInputStream snk) throws IOException
将此管道输出流连接到接收器。 如果此对象已连接到某个其他管道输入流,则抛出IOException
。如果
snk
是未连接的管道输入流,而src
是未连接的管道输出流,则可以通过以下呼叫连接它们:src.connect(snk)
snk.connect(src)
- 参数
-
snk
- 要连接的管道输入流。 - 异常
-
IOException
- 如果发生I / O错误。
-
write
public void write(int b) throws IOException
将指定的byte
写入管道输出流。实现
write
的方法OutputStream
。- Specified by:
-
write
,类OutputStream
- 参数
-
b
-byte
。 - 异常
-
IOException
- 如果管道为 broken,unconnected
, 已关闭,或者发生I / O错误。
-
write
public void write(byte[] b, int off, int len) throws IOException
将从偏移off
开始的指定字节数组中的len
字节写入此管道输出流。 此方法将阻塞,直到所有字节都写入输出流。- 重写:
-
write
类OutputStream
- 参数
-
b
- 数据。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的字节数。 - 异常
-
IOException
- 如果管道为 broken,unconnected
, 已关闭,或者发生I / O错误。
-
flush
public void flush() throws IOException
刷新此输出流并强制写出任何缓冲的输出字节。 这将通知任何读者字节在管道中等待。- Specified by:
-
flush
,界面Flushable
- 重写:
-
flush
类OutputStream
- 异常
-
IOException
- 如果发生I / O错误。
-
close
public void close() throws IOException
关闭此管道输出流并释放与此流关联的所有系统资源。 此流可能不再用于写入字节。- Specified by:
-
close
,界面AutoCloseable
- Specified by:
-
close
,界面Closeable
- 重写:
-
close
类OutputStream
- 异常
-
IOException
- 如果发生I / O错误。
-
-