モジュール java.base
パッケージ 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を、パイプで連結された出力ストリームに書き込みます。
    • コンストラクタの詳細

      • 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 - 入出力エラーが発生した場合。