- java.lang.Object
-
- java.io.OutputStream
-
- java.io.PipedOutputStream
-
- All Implemented Interfaces:
-
Closeable
,Flushable
,AutoCloseable
public class PipedOutputStream extends OutputStream
管道输出流可以连接到管道输入流以创建通信管道。 管道输出流是管道的发送端。 通常,数据由一个线程写入一个PipedOutputStream
对象,数据由其他线程从连接的PipedInputStream
读取。 不建议尝试从单个线程使用这两个对象,因为它可能会使线程死锁。 如果正在从连接的管道输入流读取数据字节的线程不再存活,则该管道被称为broken 。- 从以下版本开始:
- 1.0
- 另请参见:
-
PipedInputStream
-
-
构造方法摘要
构造方法 Constructor 描述 PipedOutputStream()
创建一个尚未连接到管道输入流的管道输出流。PipedOutputStream(PipedInputStream snk)
创建连接到指定管道输入流的管道输出流。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
close()
关闭此管道输出流,并释放与此流相关联的任何系统资源。void
connect(PipedInputStream snk)
将此管道输出流连接到接收器。void
flush()
刷新此输出流并强制任何缓冲的输出字节被写出。void
write(byte[] b, int off, int len)
从指定的字节数组写入len
字节,从偏移量off
开始off
到这个管道输出流。void
write(int b)
将指定的byte
写入管道输出流。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class java.io.OutputStream
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
从指定的字节数组写入len
字节,从偏移量off
开始off
到这个管道输出流。 该方法阻塞直到所有字节被写入输出流。- 重写:
-
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错误。
-
-