モジュール java.base
パッケージ java.io

クラスPipedOutputStream

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

public class PipedOutputStream
extends OutputStream
パイプで連結された出力ストリームをパイプで連結された入力ストリームに接続することで、通信パイプを作成することができます。 パイプで連結された出力ストリームは、パイプの送信側です。 通常、データは1つのスレッドによってPipedOutputStreamオブジェクトに書き込まれ、接続されたPipedInputStreamから別のスレッドによって読み込まれます。 単一のスレッドから両方のオブジェクトを使用することは、スレッドがデッドロックする可能性があるため推奨されていません。 パイプで連結された入力ストリームからデータ・バイトを読み込んでいたスレッドが無効になった場合は、パイプが「壊れている」と言います。
導入されたバージョン:
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

    クラス 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メソッドを実装します。

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

      public void write​(byte[] b, int off, int len) throws IOException
      指定されたバイト配列のオフセット位置offから始まるlenバイトをこのパイプで連結された出力ストリームに書き込みます。 このメソッドは、出力ストリームにすべてのバイトが書き込まれるまでブロックします。
      オーバーライド:
      write、クラス: OutputStream
      パラメータ:
      b - データ。
      off - データの開始オフセット。
      len - 書き込むバイト数。
      例外:
      IOException - パイプが壊れている場合、unconnectedの状態である場合、閉じられている場合、または入出力エラーが発生した場合。
    • flush

      public void flush() throws IOException
      出力ストリームをフラッシュして、バッファリングされていたすべての出力バイトを強制的に書き込みます。 バイトがパイプ内で待機中であることをリーダーに通知します。
      定義:
      flush、インタフェース: Flushable
      オーバーライド:
      flush、クラス: OutputStream
      例外:
      IOException - 入出力エラーが発生した場合。
    • close

      public void close() throws IOException
      パイプで連結された出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。 以降、このストリームをバイトの書込みに使用することはできません。
      定義:
      close、インタフェース: AutoCloseable
      定義:
      close、インタフェース: Closeable
      オーバーライド:
      close、クラス: OutputStream
      例外:
      IOException - 入出力エラーが発生した場合。