java.lang.Object
java.io.OutputStream
java.io.PipedOutputStream
- 所有已实现的接口:
-
Closeable
,Flushable
,AutoCloseable
可以将一个管道输出流连接到一个管道输入流,以创建一个通信管道。管道输出流是管道的发送端。通常,数据由一个线程写入到一个
PipedOutputStream
对象中,然后由另一个线程从连接的PipedInputStream
中读取数据。不建议尝试在单个线程中同时使用这两个对象,因为这可能会导致线程死锁。如果从连接的管道输入流读取数据字节的线程不再存活,则称管道为 断开 。
- 自从:
- 1.0
- 参见:
-
Constructor Summary
ConstructorDescription创建一个尚未连接到管道输入流的管道输出流。创建一个连接到指定管道输入流的管道输出流。 -
Method Summary
Methods declared in class java.io.OutputStream
nullOutputStream, write
-
Constructor Details
-
PipedOutputStream
创建一个连接到指定管道输入流的管道输出流。然后从该流写入的数据字节将作为snk
的输入可用。- 参数:
-
snk
- 要连接到的管道输入流。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
PipedOutputStream
public PipedOutputStream()创建一个尚未连接到管道输入流的管道输出流。在使用之前,必须将其连接到管道输入流,可以由接收器或发送器连接。- 参见:
-
-
Method Details
-
connect
将此管道输出流连接到接收器。如果此对象已连接到其他管道输入流,则会抛出IOException
。如果
snk
是一个未连接的管道输入流,而src
是一个未连接的管道输出流,则可以通过以下两种调用之一将它们连接:src.connect(snk)
snk.connect(src)
- 参数:
-
snk
- 要连接到的管道输入流。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
write
将指定的byte
写入管道输出流。实现
OutputStream
的write
方法。- 指定者:
-
write
在类OutputStream
中 - 参数:
-
b
- 要写入的byte
。 - 抛出:
-
IOException
- 如果管道断开、未连接
、关闭或发生I/O错误。
-
write
从指定的字节数组中从偏移量off
开始写入len
字节到此管道输出流。此方法将阻塞,直到所有字节都写入输出流为止。- 覆盖:
-
write
在类OutputStream
中 - 参数:
-
b
- 数据。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的字节数。 - 抛出:
-
IOException
- 如果管道断开、未连接
、关闭或发生I/O错误。 -
IndexOutOfBoundsException
- 如果off
为负、len
为负或len
大于b.length - off
-
flush
刷新此输出流并强制写出任何缓冲的输出字节。这将通知任何读取器,字节正在管道中等待。- 指定者:
-
flush
在接口Flushable
中 - 覆盖:
-
flush
在类OutputStream
中 - 抛出:
-
IOException
- 如果发生I/O错误。
-
close
关闭此管道输出流并释放与此流相关联的任何系统资源。此流可能不再用于写入字节。- 指定者:
-
close
在接口AutoCloseable
中 - 指定者:
-
close
在接口Closeable
中 - 覆盖:
-
close
在类OutputStream
中 - 抛出:
-
IOException
- 如果发生I/O错误。
-