クラス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
関連項目:
  • フィールドのサマリー

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

    in
    修飾子と型
    フィールド
    説明
    protected InputStream
    フィルタ処理される入力ストリームです。
  • コンストラクタのサマリー

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

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

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

    available, mark, markSupported
    修飾子と型
    メソッド
    説明
    int
    この入力ストリームのメソッドの次の呼出し側によって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。
    void
    mark(int readlimit)
    この入力ストリームの現在位置にマークを設定します。
    boolean
    この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。

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

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
    修飾子と型
    メソッド
    説明
    バイトを読み取らない新しいInputStreamを返します。
    byte[]
    入力ストリームから残りのすべてのバイトを読み取ります。
    int
    readNBytes(byte[] b, int off, int len)
    入力ストリームからリクエストされたバイト数を、指定されたバイト配列に読み取ります。
    byte[]
    readNBytes(int len)
    入力ストリームから指定のバイト数まで読み取ります。
    void
    skipNBytes(long n)
    この入力ストリームからのデータのnバイトに正確にスキップし、破棄します。
    long
    この入力ストリームからすべてのバイトを読み取り、指定された出力ストリームに読み込まれた順序でバイトを書き込みます。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • ProgressMonitorInputStream

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

    • getProgressMonitor

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

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

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

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

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

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

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