クラス FileResponseStream

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

    public class FileResponseStream
    extends ServletOutputStream
    FileFilter で使用する、File圧縮するServletOutputStreamクラスです。
    機能分類
    フィルター処理
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      protected java.io.ByteArrayOutputStream filestream
      内部出力ストリーム
      protected boolean isClosed
      クローズ判定
      protected ServletOutputStream output
      サーブレット出力ストリーム
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      FileResponseStream​(ServletResponse response, java.lang.String filename)
      コンストラクター
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      void close()
      このストリームを閉じ、このストリームに関連するすべてのシステムリソースを解放します。
      boolean closed()
      すでにストリームが閉じられているかどうかを返します。
      void flush()
      この出力ストリームをフラッシュし、バッファに入っている出力バイトをすべて強制的書き込みますに。
      boolean isReady()
      Tomcat8 / Servlet 3.1 で追加された abstract メソッド。
      void setWriteListener​(WriteListener listener)
      Tomcat8 / Servlet 3.1 で追加された abstract メソッド。
      void write​(byte[] bt)
      指定されたバイト配列からこの出力ストリームに b.length バイトを書き込みます。
      void write​(byte[] bt, int off, int len)
      オフセット off から始まる指定のバイト配列からこの出力ストリームに len バイトを書き込みます。
      void write​(int bt)
      この出力ストリームに指定されたバイトを書き込みます。
      • クラスから継承されたメソッド java.io.OutputStream

        nullOutputStream
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • フィールドの詳細

      • filestream

        protected java.io.ByteArrayOutputStream filestream
        内部出力ストリーム
      • isClosed

        protected boolean isClosed
        クローズ判定
    • コンストラクタの詳細

      • FileResponseStream

        public FileResponseStream​(ServletResponse response,
                                  java.lang.String filename)
                           throws java.io.IOException
        コンストラクター
        パラメータ:
        response - レスポンス
        filename - ファイル名
        例外:
        java.io.IOException - 入出力エラーが発生したとき
        変更履歴:
        6.4.1.1 (2016/01/16) PMD refactoring. It is a good practice to call super() in a constructor
    • メソッドの詳細

      • close

        public void close()
                   throws java.io.IOException
        このストリームを閉じ、このストリームに関連するすべてのシステムリソースを解放します。 close の汎用規約では、close は出力ストリームを閉じます。閉じられたストリームは 出力処理を実行できません。また、それを開き直すことはできません。
        定義:
        close インタフェース内 java.lang.AutoCloseable
        定義:
        close インタフェース内 java.io.Closeable
        オーバーライド:
        close クラス内 java.io.OutputStream
        例外:
        java.io.IOException - 入出力エラーが発生したとき
        変更履歴:
        5.6.4.2 (2013/05/17) fileDownload のエンコードは、UTF-8 ではなく、UnicodeLittle でセーブする。
      • flush

        public void flush()
                   throws java.io.IOException
        この出力ストリームをフラッシュし、バッファに入っている出力バイトをすべて強制的書き込みますに。 flush の汎用規約では、それまでに書き込まれたバイトが出力ストリームの 実装によってバッファに入れられている場合に flush を呼び出すと、それらのバイトは ただちにその目的の転送先に書き込まれます。
        定義:
        flush インタフェース内 java.io.Flushable
        オーバーライド:
        flush クラス内 java.io.OutputStream
        例外:
        java.io.IOException - 入出力エラーが発生したとき
        変更履歴:
        5.1.7.0 (2010/06/01) isClosed == true の場合に Exception でなく、return にする。
      • write

        public void write​(int bt)
                   throws java.io.IOException
        この出力ストリームに指定されたバイトを書き込みます。 write の汎用規約では、1 バイトが 出力ストリームに書き込まれます。書き込まれるバイトは、引数 b の下位 8 ビットです。 b の上位 24 ビットは無視されます。
        定義:
        write クラス内 java.io.OutputStream
        パラメータ:
        bt - byteデータ
        例外:
        java.io.IOException - 入出力エラーが発生したとき
        変更履歴:
        5.1.7.0 (2010/06/01) isClosed == true の場合に Exception でなく、return にする。
      • write

        public void write​(byte[] bt)
                   throws java.io.IOException
        指定されたバイト配列からこの出力ストリームに b.length バイトを書き込みます。 write(b) の汎用規約では、write(b) の効果は write(b, 0, b.length) を呼び出す 場合とまったく同じです。
        オーバーライド:
        write クラス内 java.io.OutputStream
        パラメータ:
        bt - バイト配列
        例外:
        java.io.IOException - 入出力エラーが発生したとき
      • write

        public void write​(byte[] bt,
                          int off,
                          int len)
                   throws java.io.IOException
        オフセット off から始まる指定のバイト配列からこの出力ストリームに len バイトを書き込みます。 write(b, off, len) の汎用規約では、配列 b 内の一定のバイトが出力ストリームに順番に 書き込まれます。この処理で最初に書き込まれるバイトは要素 b[off]、最後に書き込まれる バイトは要素 b[off+len-1] です。
        オーバーライド:
        write クラス内 java.io.OutputStream
        パラメータ:
        bt - バイト配列
        off - オフセット数
        len - 書き込みバイト数
        例外:
        java.io.IOException - 入出力エラーが発生したとき
        変更履歴:
        5.1.7.0 (2010/06/01) isClosed == true の場合に Exception でなく、return にする。
      • closed

        public boolean closed()
        すでにストリームが閉じられているかどうかを返します。
        戻り値:
        すでにストリームが閉じられているかどうか
      • isReady

        public boolean isReady()
        Tomcat8 / Servlet 3.1 で追加された abstract メソッド。 Checks if a non-blocking write will succeed. If this returns false, it will cause a callback to WriteListener#onWritePossible() when the buffer has emptied. If this method returns false no further data must be written until the contain calls WriteListener#onWritePossible().
        定義:
        isReady クラス内 ServletOutputStream
        戻り値:
        true:書き込み可能/false:不可 (true if data can be written, else false)
        変更履歴:
        5.6.8.2 (2013/09/20) 新規追加(Tomcat8 / Servlet 3.1 で追加された abstract メソッド)
        導入されたバージョン:
        Servlet 3.1
      • setWriteListener

        public void setWriteListener​(WriteListener listener)
        Tomcat8 / Servlet 3.1 で追加された abstract メソッド。 Sets the WriteListener for this ServletOutputStream and thereby switches to non-blocking IO. It is only valid to switch to non-blocking IO within async processing or HTTP upgrade processing.
        定義:
        setWriteListener クラス内 ServletOutputStream
        パラメータ:
        listener - The non-blocking IO write listener
        例外:
        java.lang.IllegalStateException - If this method is called if neither async nor HTTP upgrade is in progress or if the WriteListener has already been set
        java.lang.NullPointerException - If listener is null
        変更履歴:
        5.6.8.2 (2013/09/20) 新規追加(Tomcat8 / Servlet 3.1 で追加された abstract メソッド)
        導入されたバージョン:
        Servlet 3.1