JavaTM Platform
Standard Ed. 6

java.io
クラス PipedOutputStream

java.lang.Object
  上位を拡張 java.io.OutputStream
      上位を拡張 java.io.PipedOutputStream
すべての実装されたインタフェース:
Closeable, Flushable

public class PipedOutputStream
extends OutputStream

パイプで連結された出力ストリームをパイプで連結された入力ストリームに接続することで、通信パイプを作成することができます。パイプで連結された出力ストリームは、パイプの送信側です。通常、データは 1 つのスレッドによって 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)
          指定されたバイト配列の、オフセット位置 off から始まる len バイトをこのパイプで連結された出力ストリームに書き込みます。
 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 - 入出力エラーが発生した場合

PipedOutputStream

public PipedOutputStream()
パイプで連結された入力ストリームにまだ接続されていない状態で、パイプで連結された出力ストリームを作成します。使用前に、受信側と送信側のいずれかで、パイプで連結された入力ストリームに接続する必要があります。

関連項目:
PipedInputStream.connect(java.io.PipedOutputStream), connect(java.io.PipedInputStream)
メソッドの詳細

connect

public void connect(PipedInputStream snk)
             throws IOException
パイプで連結された出力ストリームを受信側に接続します。このオブジェクトが別のパイプで連結された入力ストリームに接続されている場合は、IOException がスローされます。  

snk がパイプによる未接続の入力ストリームで、src がパイプによる未接続の出力ストリームである場合、2 つのストリームは以下の呼び出しのどちらかによって接続されます。

 src.connect(snk)
または
 snk.connect(src)
2 つの呼び出しは同じ効果を持ちます。

パラメータ:
snk - パイプによる接続先の入力ストリーム
例外:
IOException - 入出力エラーが発生した場合

write

public void write(int b)
           throws IOException
指定された byte をパイプで連結された出力ストリームに書き込みます。  

OutputStreamwrite メソッドを実装します。

定義:
クラス OutputStream 内の write
パラメータ:
b - 書き込まれる byte
例外:
IOException - パイプが壊れている場合、unconnected の状態である場合、閉じられている場合、または入出力エラーが発生した場合

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
指定されたバイト配列の、オフセット位置 off から始まる len バイトをこのパイプで連結された出力ストリームに書き込みます。このメソッドは、出力ストリームにすべてのバイトが書き込まれるまでブロックします。

オーバーライド:
クラス OutputStream 内の write
パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数
例外:
IOException - パイプが壊れている場合、unconnected の状態である場合、閉じられている場合、または入出力エラーが発生した場合

flush

public void flush()
           throws IOException
出力ストリームをフラッシュして、バッファリングされていたすべての出力バイトを強制的に書き込みます。バイトがパイプ内で待機中であることをリーダーに通知します。

定義:
インタフェース Flushable 内の flush
オーバーライド:
クラス OutputStream 内の flush
例外:
IOException - 入出力エラーが発生した場合

close

public void close()
           throws IOException
パイプで連結された出力ストリームを閉じ、このストリームに関連するすべてのシステムリソースを解放します。以降、このストリームをバイトの書き込みに使用することはできません。

定義:
インタフェース Closeable 内の close
オーバーライド:
クラス OutputStream 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。