Spec-Zone.ru › OpenJDK 24

Класс 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.

С тех пор:
1.2
См. также:
  • 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.io.InputStream

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

ProgressMonitorInputStream

public ProgressMonitorInputStream(Component parentComponent, Object message, InputStream in)
Создаёт объект для отслеживания прогресса входного потока.
Параметры:
parentComponent - Компонент, инициирующий отслеживаемую операцию.
message - Описательный текст, который будет помещён в диалоговое окно, если оно появится.
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 - если in.skip(n) выбрасывает IOException.
См. также:
  • InputStream.skipNBytes(long)

close

public void close() throws IOException
Переопределяет FilterInputStream.close, чтобы закрыть монитор прогресса и поток.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Переопределяет:
close в классе FilterInputStream
Исключение:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

reset

public void reset() throws IOException
Переопределяет FilterInputStream.reset, чтобы сбросить монитор прогресса и поток.
Переопределяет:
reset в классе FilterInputStream
Исключение:
IOException - если этот поток не был помечен или отметка была аннулирована.
См. также:
  • FilterInputStream.in
  • FilterInputStream.mark(int)

© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/ProgressMonitorInputStream.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API