JavaTM Platform
Standard Ed. 6

java.io
类 PipedOutputStream

java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.PipedOutputStream
所有已实现的接口:
Closeable, Flushable

public class PipedOutputStream
     
extends OutputStream

可以将管道输出流连接到管道输入流来创建通信管道。管道输出流是管道的发送端。通常,数据由某个线程写入 PipedOutputStream 对象,并由其他线程从连接的 PipedInputStream 读取。不建议对这两个对象尝试使用单个线程,因为这样可能会造成该线程死锁。如果某个线程正从连接的管道输入流中读取数据字节,但该线程不再处于活动状态,则该管道被视为处于 毁坏 状态。

从以下版本开始:
JDK1.0
另请参见:
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
 

构造方法详细信息

PipedOutputStream

public PipedOutputStream(PipedInputStream snk)
                  throws IOException
创建连接到指定管道输入流的管道输出流。写入此流的数据字节稍后将用作 snk 的输入。

参数:
snk - 要连接的管道输入流。
抛出:
IOException - 如果发生 I/O 错误。

PipedOutputStream

public PipedOutputStream()
创建尚未连接到管道输入流的管道输出流。必须在使用之前将管道输出流连接到管道输入流(既可由接收者连接,也可由发送者连接)。

另请参见:
PipedInputStream.connect(java.io.PipedOutputStream), connect(java.io.PipedInputStream)
方法详细信息

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 写入传送的输出流。

实现 OutputStreamwrite 方法。

指定者:
OutputStream 中的 write
参数:
b - 要写入的 byte
抛出:
IOException - 如果管道处于 毁坏未连接状态,或者发生 I/O 错误。

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
len 字节从初始偏移量为 off 的指定 byte 数组写入该管道输出流。在将所有字节写入输出流之前,此方法一直处于阻塞状态。

覆盖:
OutputStream 中的 write
参数:
b - 数据。
off - 数据中的初始偏移量。
len - 要写入的字节数。
抛出:
IOException - 如果管道处于 毁坏未连接状态,或者发生 I/O 错误。

flush

public void flush()
           throws IOException
刷新此输出流并强制写出所有缓冲的输出字节。这将通知所有 reader,告知它们管道中的字符处于等待中。

指定者:
接口 Flushable 中的 flush
覆盖:
OutputStream 中的 flush
抛出:
IOException - 如果发生 I/O 错误。

close

public void close()
           throws IOException
关闭此管道输出流并释放与此流有关的所有系统资源。此流可能无法再用于写入字节。

指定者:
接口 Closeable 中的 close
覆盖:
OutputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策