モジュール java.base
パッケージ javax.crypto

クラスCipherOutputStream

  • すべての実装されたインタフェース:
    Closeable, Flushable, AutoCloseable


    public class CipherOutputStream
    extends FilterOutputStream
    CipherOutputStreamはOutputStreamとCipherで構成されているので、write()メソッドはまずデータを処理してから基本となるOutputStreamに書き込みます。 Cipherは、完全に初期化してからでないと、CipherOutputStreamで使用できません。

    たとえば、Cipherが暗号化用に初期化されていると、CipherOutputStreamは、暗号化されたデータを書き込む前に、データを暗号化しようとします。

    このクラスは、上位クラスjava.io.OutputStreamおよびjava.io.FilterOutputStreamのセマンティックス、特に失敗セマンティックスに厳密に従います。 このクラスでは、それらのメソッドは上位クラスで厳密に指定されており、すべてオーバーライドされます。 さらに、このクラスは、上位クラスがスローしない例外をすべてキャッチします。

    このクラスを使用するプログラマは、このクラスで定義されていないメソッド、またはオーバーライドされていないメソッド(あとでスーパー・クラスのいずれかに追加された新しいメソッドやコンストラクタなど)を絶対に使用しないでください。それらのメソッドの設計と実装では、CipherOutputStreamに関するセキュリティ上の影響が考慮されていない可能性があるためです。

    導入されたバージョン:
    1.4
    関連項目:
    OutputStream, FilterOutputStream, Cipher, CipherInputStream
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected CipherOutputStream​(OutputStream os)
      OutputStreamからCipherを指定しないでCipherOutputStreamを構築します。
        CipherOutputStream​(OutputStream os, Cipher c)
      OutputStreamおよびCipherからCipherOutputStreamを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void close​()
      出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。
      void flush​()
      カプセル化された暗号オブジェクトによってすでに処理された、バッファに格納された出力バイトを強制的に書き出して、この出力ストリームをフラッシュします。
      void write​(byte[] b)
      指定されたバイト配列のb.lengthバイトをこの出力ストリームに書き込みます。
      void write​(byte[] b, int off, int len)
      指定されたバイト配列のオフセット位置offから始まるlenバイトをこの出力ストリームに書き込みます。
      void write​(int b)
      指定されたバイトをこの出力ストリームに書き込みます。
    • コンストラクタの詳細

      • CipherOutputStream

        public CipherOutputStream​(OutputStream os,
                                  Cipher c)
        OutputStreamおよびCipherからCipherOutputStreamを構築します。
        注: 指定された出力ストリームまたは暗号がnullの場合は、それらの使用時にNullPointerExceptionがスローされる可能性があります。
        パラメータ:
        os - OutputStreamオブジェクト
        c - 初期化されたCipherオブジェクト
      • CipherOutputStream

        protected CipherOutputStream​(OutputStream os)
        OutputStreamからCipherを指定しないでCipherOutputStreamを構築します。 これは、NullCipherを使用してCipherOutputStreamを構築する効果を持ちます。
        注: 指定された出力ストリームがnullの場合は、それの使用時にNullPointerExceptionがスローされる可能性があります。
        パラメータ:
        os - OutputStreamオブジェクト
    • メソッドの詳細

      • write

        public void write​(int b)
                   throws IOException
        指定されたバイトをこの出力ストリームに書き込みます。
        オーバーライド:
        write、クラス: FilterOutputStream
        パラメータ:
        b - byte
        例外:
        IOException - 入出力エラーが発生した場合。
      • write

        public void write​(byte[] b)
                   throws IOException
        指定されたバイト配列のb.lengthバイトをこの出力ストリームに書き込みます。

        CipherOutputStreamwriteメソッドは、3つの引数b0、およびb.lengthを指定して3つの引数をとるwriteメソッドを呼び出します。

        オーバーライド:
        write、クラス: FilterOutputStream
        パラメータ:
        b - データ。
        例外:
        NullPointerException - bがnullである場合。
        IOException - 入出力エラーが発生した場合。
        関連項目:
        write(byte[], int, int)
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        指定されたバイト配列のオフセット位置offから始まるlenバイトをこの出力ストリームに書き込みます。
        オーバーライド:
        write、クラス: FilterOutputStream
        パラメータ:
        b - データ。
        off - データの開始オフセット。
        len - 書き込むバイト数。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.write(int)
      • flush

        public void flush​()
                   throws IOException
        カプセル化された暗号オブジェクトによってすでに処理された、バッファに格納された出力バイトを強制的に書き出して、この出力ストリームをフラッシュします。

        カプセル化された暗号によってバッファに格納され、処理されるのを待っているバイトは書き出されません。 たとえば、カプセル化された暗号がブロック暗号であり、writeメソッドの1つを使用して書き込まれたバイト数の合計がその暗号のブロック・サイズより小さい場合、バイトは書き出されません。

        定義:
        flush、インタフェース: Flushable
        オーバーライド:
        flush、クラス: FilterOutputStream
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • close

        public void close​()
                   throws IOException
        出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。

        このメソッドは、カプセル化された暗号オブジェクトによってバッファに格納されたすべてのバイトが処理されるようにする、カプセル化された暗号オブジェクトのdoFinalメソッドを呼び出します。 結果を書き出すには、この出力ストリームのflushメソッドを呼び出します。

        このメソッドは、カプセル化された暗号オブジェクトを初期状態にリセットして、基本となる出力ストリームのcloseメソッドを呼び出します。

        定義:
        close、インタフェース: AutoCloseable
        定義:
        close、インタフェース: Closeable
        オーバーライド:
        close、クラス: FilterOutputStream
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.flush(), FilterOutputStream.out