Класс 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, чтобы проинформировать пользователя. Если пользователь нажмет кнопку Отмена, при следующем чтении будет выброшено исключение InterruptedIOException. При закрытии потока выполняется вся необходимая очистка.
Для получения дополнительной документации и примеров см. Как отслеживать прогресс, раздел в Руководстве по Java.
- См. также:
-
ProgressMonitor,JOptionPane
Поля
Поля, унаследованные от класса java.io.FilterInputStream
in
Конструкторы
| Конструктор и описание |
|---|
ProgressMonitorInputStream(Component parentComponent,
Object message,
InputStream in) Создаёт объект для мониторинга прогресса потока ввода. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Переопределяет |
ProgressMonitor |
getProgressMonitor() Получить объект ProgressMonitor, используемый этим потоком. |
int |
read() Переопределяет |
int |
read(byte[] b) Переопределяет |
int |
read(byte[] b,
int off,
int len) Переопределяет |
void |
reset() Переопределяет |
long |
skip(long n) Переопределяет |
Методы, унаследованные от класса java.io.FilterInputStream
available, mark, markSupported
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Детали конструкторов
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- если произошла ошибка ввода-вывода. - См. также:
FilterInputStream.in
read
public int read(byte[] b)
throws IOException
Переопределяет FilterInputStream.read для обновления монитора прогресса после чтения.
- Переопределяет:
-
readв классеFilterInputStream - Параметры:
-
b- буфер, в который считываются данные. - Возвращает:
- общее количество считанных байтов в буфер или
-1, если больше данных нет, так как достигнут конец потока. - Исключение:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
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- если произошла ошибка ввода-вывода. - См. также:
FilterInputStream.in
skip
public long skip(long n)
throws IOException
Переопределяет FilterInputStream.skip для обновления монитора прогресса после пропуска.
- Переопределяет:
-
skipв классеFilterInputStream - Параметры:
-
n- количество байтов для пропуска. - Возвращает:
- фактическое количество пропущенных байтов.
- Исключение:
-
IOException- если поток не поддерживает поиск или произошла другая ошибка ввода-вывода.
close
public void close()
throws IOException
Переопределяет FilterInputStream.close для закрытия монитора прогресса и потока.
- Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
closeв классеFilterInputStream - Исключение:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
FilterInputStream.in
reset
public void reset()
throws IOException
Переопределяет FilterInputStream.reset для сброса монитора прогресса и потока.
- Переопределяет:
-
resetв классеFilterInputStream - Исключение:
-
IOException- если поток не был помечен или метка была аннулирована. - См. также:
-
FilterInputStream.in,FilterInputStream.mark(int)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.