Spec-Zone.ru › OpenJDK 21

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

Это создаёт монитор прогресса для отслеживания прогресса чтения входного потока. Если процесс занимает много времени, всплывёт диалоговое окно с прогрессом, чтобы проинформировать пользователя. Если пользователь нажмёт кнопку «Отмена», при следующем чтении будет сгенерировано исключение 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, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/ProgressMonitorInputStream.html

Spec-Zone.ru

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