模块  java.desktop
软件包  javax.swing

Class ProgressMonitorInputStream

  • 实现的所有接口
    CloseableAutoCloseable

    public class ProgressMonitorInputStream
    extends FilterInputStream
    监视从某些InputStream读取的进度。 通常以这种形式调用此ProgressMonitor:
      InputStream in = new BufferedInputStream(
                              new ProgressMonitorInputStream(
                                      parentComponent,
                                      "Reading " + fileName,
                                      new FileInputStream(fileName))); 

    这将创建一个进度监视器来监视读取输入流的进度。 如果需要一段时间,将弹出ProgressDialog以通知用户。 如果用户点击取消按钮,则下次读取时将抛出InterruptedIOException。 当流关闭时,完成所有正确的清理。

    有关更多文档和示例,请参阅“Java教程” How to Monitor Progress部分

    从以下版本开始:
    1.2
    另请参见:
    ProgressMonitorJOptionPane
    • 构造方法详细信息

      • ProgressMonitorInputStream

        public ProgressMonitorInputStream​(Component parentComponent,
                                          Object message,
                                          InputStream in)
        构造一个对象以监视输入流的进度。
        参数
        message - 如果弹出一个对象框,则放置在对话框中的描述性文本。
        parentComponent - 触发正在监视的操作的组件。
        in - 要监视的输入流。
    • 方法详细信息

      • getProgressMonitor

        public ProgressMonitor getProgressMonitor()
        获取此流使用的ProgressMonitor对象。 通常不需要这样做,除非您想通过读取文件来中途改变描述性文本。
        结果
        此对象使用的ProgressMonitor对象
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        覆盖 FilterInputStream.read以在读取后更新进度监视器。
        重写:
        read在类 FilterInputStream
        参数
        b - 读取数据的缓冲区。
        off - 目标阵列 b的起始偏移量
        len - 读取的最大字节数。
        结果
        读入缓冲区的总字节数,如果由于已到达流末尾而没有更多数据, -1
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        FilterInputStream.in
      • skip

        public long skip​(long n)
                  throws IOException
        跳过后,覆盖 FilterInputStream.skip以更新进度监视器。
        重写:
        skip在课程 FilterInputStream
        参数
        n - 要跳过的字节数。
        结果
        跳过的实际字节数。
        异常
        IOException - 如果 in.skip(n)抛出IOException。