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

クラスProgressMonitorInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
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
  • フィールドのサマリー

    クラス java.io.FilterInputStreamで宣言されたフィールド

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

    コンストラクタ
    コンストラクタ 説明
    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をオーバーライドして、スキップのあとに進捗モニターを更新できるようにします。

    クラス java.io.FilterInputStreamで宣言されたメソッド

    available, mark, markSupported

    クラス java.io.InputStreamで宣言されたメソッド

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • 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をスローした場合。
      関連項目:
      InputStream.skipNBytes(long)
    • close

      public void close() throws IOException
      FilterInputStream.closeをオーバーライドして、ストリームと進捗モニターの両方を閉じることができるようにします。
      定義:
      close、インタフェース: AutoCloseable
      定義:
      close、インタフェース: Closeable
      オーバーライド:
      close、クラス: FilterInputStream
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • reset

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