- java.lang.Object
 -  
      
- java.io.InputStream
 -  
        
- java.io.FilterInputStream
 -  
          
- javax.swing.ProgressMonitorInputStream
 
 
 
 
-  
       
- All Implemented Interfaces:
 -  
         
Closeable,AutoCloseable 
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
 - 另请参见:
 -  
         
ProgressMonitor,JOptionPane 
 
-  
        
       
-  
             
Field Summary
-  
               
Fields inherited from class java.io.FilterInputStream
in 
 -  
               
 
-  
             
构造方法摘要
构造方法 Constructor 描述 ProgressMonitorInputStream(Component parentComponent, Object message, InputStream in)构造一个对象来监视输入流的进度。 
-  
             
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidclose()覆盖FilterInputStream.close以关闭进度监视器以及流。ProgressMonitorgetProgressMonitor()获取此流所使用的ProgressMonitor对象。intread()覆盖FilterInputStream.read以便在读取后更新进度监视器。intread(byte[] b)覆盖FilterInputStream.read以便在读取后更新进度监视器。intread(byte[] b, int off, int len)覆盖FilterInputStream.read以便在读取后更新进度监视器。voidreset()覆盖FilterInputStream.reset以重置进度监视器以及流。longskip(long n)覆盖FilterInputStream.skip以在跳过后更新进度监视器。-  
               
Methods inherited from class java.io.FilterInputStream
available, mark, markSupported 
-  
               
Methods inherited from class java.io.InputStream
readAllBytes, readNBytes, transferTo 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
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- 如果发生I / O错误。 - 另请参见:
 -  
              
FilterInputStream.in 
 
-  
read
public int read(byte[] b) throws IOException覆盖FilterInputStream.read以便在读取后更新进度监视器。- 重写:
 -  
              
read在FilterInputStream - 参数
 -  
              
b- 读取数据的缓冲区。 - 结果
 - 
               读取到缓冲区中的总字节数,如果没有更多的数据,因为已经到达流的末尾,那么 
              
-1。 - 异常
 -  
              
IOException- 如果发生I / O错误。 - 另请参见:
 -  
              
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- 如果发生I / O错误。 - 另请参见:
 -  
              
FilterInputStream.in 
 
-  
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以关闭进度监视器以及流。- Specified by:
 -  
              
close在接口AutoCloseable - Specified by:
 -  
              
close在接口Closeable - 重写:
 -  
              
close在FilterInputStream - 异常
 -  
              
IOException- 如果发生I / O错误。 - 另请参见:
 -  
              
FilterInputStream.in 
 
-  
reset
public void reset() throws IOException覆盖FilterInputStream.reset以重置进度监视器以及流。- 重写:
 -  
              
reset类FilterInputStream - 异常
 -  
              
IOException- 如果流未被标记或标记已被无效。 - 另请参见:
 -  
              
FilterInputStream.in,FilterInputStream.mark(int) 
 
 -  
 
 -