java.lang.Objectjava.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)