java.lang.Object java.io.InputStream java.io.FilterInputStream javax.swing.ProgressMonitorInputStream
public class ProgressMonitorInputStream
监视读取某些 InputStream 的进度。大致用以下形式调用此 ProgressMonitor:
InputStream in = new BufferedInputStream( new ProgressMonitorInputStream( parentComponent, "Reading " + fileName, new FileInputStream(fileName)));
这可以创建一个进度监视器,以监视读取输入流的进度。如果需要一段时间,将会弹出 ProgressDialog,以通知用户。如果用户单击 Cancel 按钮,则在进行下一次读取操作时会抛出 InterruptedIOException。当关闭流时,会执行所有的正确清除。
有关此内容的更多文档和示例,请参阅 The Java Tutorial 中的 How to Monitor Progress 一节。
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.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public ProgressMonitorInputStream(Component parentComponent, Object message, InputStream in)
message
- 要在对话框(如果弹出)中放置的描述性文本。
parentComponent
- 触发被监视操作的组件。
in
- 要监视的输入流。
方法详细信息 |
---|
public ProgressMonitor getProgressMonitor()
public int read() throws IOException
FilterInputStream.read
,以便在读取之后更新进度监视器。
FilterInputStream
中的
read
-1
。
IOException
- 如果发生 I/O 错误。
FilterInputStream.in
public int read(byte[] b) throws IOException
FilterInputStream.read
,以读取之后更新进度监视器。
FilterInputStream
中的
read
b
- 存储读取数据的缓冲区。
-1
。
IOException
- 如果发生 I/O 错误。
FilterInputStream.read(byte[], int, int)
public int read(byte[] b, int off, int len) throws IOException
FilterInputStream.read
,以便在读取之后更新进度监视器。
FilterInputStream
中的
read
b
- 存储读取数据的缓冲区。
off
- 目标数组
b
中的起始偏移量。
len
- 读取的最大字节数。
-1
。
IOException
- 如果发生 I/O 错误。
FilterInputStream.in
public long skip(long n) throws IOException
FilterInputStream.skip
,以便在跳过之后更新进度监视器。
FilterInputStream
中的
skip
n
- 要跳过的字节数。
IOException
- 如果流不支持搜索,或者发生其他 I/O 错误。
public void close() throws IOException
FilterInputStream.close
,以便关闭进度监视器以及流。
Closeable
中的
close
FilterInputStream
中的
close
IOException
- 如果发生 I/O 错误。
FilterInputStream.in
public void reset() throws IOException
FilterInputStream.reset
,以重置进度监视器以及流。
FilterInputStream
中的
reset
IOException
- 如果已经标记了该流,或者标记已经无效。
FilterInputStream.in
,
FilterInputStream.mark(int)