モジュール java.desktop
パッケージ javax.swing

クラスProgressMonitorInputStream

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

    public class ProgressMonitorInputStream
    extends FilterInputStream
    InputStreamからの読込みの進捗を監視します。 このProgressMonitorは通常、次のような形式で呼び出されます。
     InputStream in = new BufferedInputStream(
                              new ProgressMonitorInputStream(
                                      parentComponent,
                                      "Reading " + fileName,
                                      new FileInputStream(fileName)));
     

    これにより、入力ストリームの読込みの進捗を監視する進捗モニターが作成されます。 しばらく時間がかかる場合には、ProgressDialogが表示され、ユーザーに通知します。 ユーザーが「取消し(Cancel)」ボタンを押すと、次の読込みでInterruptedIOExceptionがスローされます。 ストリームが閉じると、適切なクリーンアップがすべて実行されます。

    例および詳細は、『The Java Tutorial』の「How to Monitor Progress」を参照してください。

    導入されたバージョン:
    1.2
    関連項目:
    ProgressMonitor, JOptionPane
    • フィールドのサマリー

    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      ProgressMonitorInputStream​(Component parentComponent, Object message, InputStream in)
      入力ストリームの進捗を監視するオブジェクトを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void close()
      FilterInputStream.closeをオーバーライドして、ストリームと進捗モニターの両方を閉じることができるようにします。
      ProgressMonitor getProgressMonitor()
      このストリームによって使用されているProgressMonitorオブジェクトを取得します。
      int read()
      FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
      int read​(byte[] b)
      FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
      int read​(byte[] b, int off, int len)
      FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
      void reset()
      FilterInputStream.resetをオーバーライドして、ストリームと進捗モニターの両方をリセットできるようにします。
      long skip​(long n)
      FilterInputStream.skipをオーバーライドして、スキップのあとに進捗モニターを更新できるようにします。
    • コンストラクタの詳細

      • ProgressMonitorInputStream

        public ProgressMonitorInputStream​(Component parentComponent,
                                          Object message,
                                          InputStream in)
        入力ストリームの進捗を監視するオブジェクトを構築します。
        パラメータ:
        message - ダイアログ・ボックスが表示される場合は、そのダイアログ・ボックスに表示される説明テキスト。
        parentComponent - 監視している処理をトリガーするコンポーネント。
        in - 監視する入力ストリーム。
    • メソッドの詳細

      • getProgressMonitor

        public ProgressMonitor getProgressMonitor()
        このストリームによって使用されているProgressMonitorオブジェクトを取得します。 ファイルの読込み途中で説明テキストを変更したりする必要がないかぎり、通常このメソッドは必要ありません。
        戻り値:
        このオブジェクトによって使用されるProgressMonitorオブジェクト
      • read

        public int read()
                 throws IOException
        FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
        オーバーライド:
        read、クラスFilterInputStream
        戻り値:
        データの次のバイト。ストリームの終わりに達した場合は-1
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterInputStream.in
      • read

        public int read​(byte[] b)
                 throws IOException
        FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
        オーバーライド:
        read、クラスFilterInputStream
        パラメータ:
        b - データの読込み先のバッファ。
        戻り値:
        バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterInputStream.read(byte[], int, int)
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        FilterInputStream.readをオーバーライドして、読込みのあとに進捗モニターを更新できるようにします。
        オーバーライド:
        read、クラスFilterInputStream
        パラメータ:
        b - データの読込み先のバッファ。
        off - 転送先配列の開始オフセットb
        len - 読み込まれる最大バイト数。
        戻り値:
        バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterInputStream.in
      • skip

        public long skip​(long n)
                  throws IOException
        FilterInputStream.skipをオーバーライドして、スキップのあとに進捗モニターを更新できるようにします。
        オーバーライド:
        skip、クラスFilterInputStream
        パラメータ:
        n - スキップされるバイト数。
        戻り値:
        実際にスキップされたバイト数。
        例外:
        IOException - in.skip(n)がIOExceptionをスローした場合。
      • reset

        public void reset()
                   throws IOException
        FilterInputStream.resetをオーバーライドして、ストリームと進捗モニターの両方をリセットできるようにします。
        オーバーライド:
        reset、クラスFilterInputStream
        例外:
        IOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合。
        関連項目:
        FilterInputStream.in, FilterInputStream.mark(int)