Spec-Zone.ru › OpenJDK 17

Класс FileInputStream

java.lang.Object
java.io.InputStream
java.io.FileInputStream
Все реализованные интерфейсы:
Closeable, AutoCloseable
public class FileInputStream extends InputStream
Класс FileInputStream получает байты ввода из файла в файловой системе. Доступные файлы зависят от среды хоста.

FileInputStream предназначен для чтения потоков необработанных байтов, таких как данные изображения. Для чтения потоков символов используйте FileReader.

Примечание API:
Для освобождения ресурсов, используемых этим потоком, необходимо вызвать close() напрямую или с помощью try-with-resources. Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассы, переопределяющие Object.finalize() для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки, таких как Cleaner, и удалить переопределенный finalize метод.
Требования к реализации:
Если этот класс FileInputStream был расширен, и метод close() был переопределён, метод close() будет вызван, когда FileInputStream станет недоступным. В противном случае, как выполняется очистка ресурсов, описанная в close(), зависит от реализации.
С:
1.0
См. также:
  • File
  • FileDescriptor
  • FileOutputStream
  • Files.newInputStream(java.nio.file.Path, java.nio.file.OpenOption...)

Краткое описание конструкторов

Конструктор Описание
FileInputStream(File file)
Создаёт FileInputStream, открывая соединение с фактическим файлом, файл, имя которого задано объектом File file в файловой системе.
FileInputStream(FileDescriptor fdObj)
Создаёт FileInputStream, используя дескриптор файла fdObj, который представляет собой существующее соединение с фактическим файлом в файловой системе.
FileInputStream(String name)
Создаёт FileInputStream, открывая соединение с фактическим файлом, файл, имя которого задано именем пути name в файловой системе.

Краткое описание методов

Модификатор и тип Метод Описание
int available()
Возвращает оценку количества оставшихся байтов, которые могут быть прочитаны (или пропущены) из этого потока ввода без блокировки до следующего вызова метода для этого потока ввода.
void close()
Закрывает этот поток ввода файла и освобождает все системные ресурсы, связанные с потоком.
FileChannel getChannel()
Возвращает уникальный объект FileChannel, связанный с этим потоком ввода файла.
final FileDescriptor getFD()
Возвращает объект FileDescriptor, который представляет собой соединение с фактическим файлом в файловой системе, используемым этим FileInputStream.
int read()
Читает байт данных из этого потока ввода.
int read(byte[] b)
Читает до b.length байтов данных из этого потока ввода в массив байтов.
int read(byte[] b, int off, int len)
Читает до len байтов данных из этого потока ввода в массив байтов.
long skip(long n)
Пропускает и отбрасывает n байтов данных из потока ввода.

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

mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo

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

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

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

FileInputStream

public FileInputStream(String name) throws FileNotFoundException
Создаёт FileInputStream, открыв соединение с фактическим файлом, файлом с именем, заданным путём name в файловой системе. Новый объект FileDescriptor создаётся для представления этого подключения к файлу.

Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name.

Если указанный файл не существует, является каталогом, а не обычным файлом, или по какой-либо другой причине не может быть открыт для чтения, то выбрасывается исключение FileNotFoundException.

Параметры:
name - имя файла, зависящее от системы.
Исключения:
FileNotFoundException - если файл не существует, является каталогом, а не обычным файлом, или по какой-либо другой причине не может быть открыт для чтения.
SecurityException - если менеджер безопасности существует и его метод checkRead отказывается предоставить доступ для чтения к файлу.
См. также:
  • SecurityManager.checkRead(java.lang.String)

FileInputStream

public FileInputStream(File file) throws FileNotFoundException
Создаёт FileInputStream, открыв соединение с фактическим файлом, файлом, именованным объектом File file в файловой системе. Новый объект FileDescriptor создаётся для представления этого подключения к файлу.

Сначала, если существует менеджер безопасности, вызывается его метод checkRead с путём, представленным аргументом file.

Если указанный файл не существует, является каталогом, а не обычным файлом, или по какой-либо другой причине не может быть открыт для чтения, то выбрасывается исключение FileNotFoundException.

Параметры:
file - файл, который должен быть открыт для чтения.
Исключения:
FileNotFoundException - если файл не существует, является каталогом, а не обычным файлом, или по какой-либо другой причине не может быть открыт для чтения.
SecurityException - если менеджер безопасности существует и его метод checkRead отказывается предоставить доступ для чтения к файлу.
См. также:
  • File.getPath()
  • SecurityManager.checkRead(java.lang.String)

FileInputStream

public FileInputStream(FileDescriptor fdObj)
Создаёт FileInputStream, используя дескриптор файла fdObj, который представляет существующее подключение к фактическому файлу в файловой системе.

Если существует менеджер безопасности, вызывается его метод checkRead с дескриптором файла fdObj в качестве аргумента, чтобы узнать, разрешено ли чтение дескриптора файла. Если доступ для чтения к дескриптору файла запрещён, выбрасывается исключение SecurityException.

Если fdObj равно null, выбрасывается исключение NullPointerException.

Этот конструктор не выбрасывает исключение, если fdObj invalid. Однако, если методы вызываются на полученном потоке для попытки ввода-вывода по потоку, выбрасывается исключение IOException.

Параметры:
fdObj - дескриптор файла, который должен быть открыт для чтения.
Исключения:
SecurityException - если менеджер безопасности существует и его метод checkRead отказывается предоставить доступ для чтения к дескриптору файла.
См. также:
  • SecurityManager.checkRead(java.io.FileDescriptor)

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

read

public int read() throws IOException
Считывает байт данных из этого входного потока. Этот метод блокируется, если данные ещё недоступны.
Унаследованное от:
read в классе InputStream
Возвращает:
следующий байт данных или -1, если достигнут конец файла.
Исключения:
IOException - если произошла ошибка ввода-вывода.

read

public int read(byte[] b) throws IOException
Считывает до b.length байтов данных из этого входного потока в массив байтов. Этот метод блокируется до тех пор, пока данные не станут доступны.
Переопределяет:
read в классе InputStream
Параметры:
b - буфер, в который считываются данные.
Возвращает:
общее количество считанных байтов в буфер, или -1, если больше нет данных, так как достигнут конец файла.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • InputStream.read(byte[], int, int)

read

public int read(byte[] b, int off, int len) throws IOException
Считывает до len байтов данных из этого входного потока в массив байтов. Если len не равно нулю, метод блокируется до тех пор, пока не появятся данные; в противном случае байты не читаются, и возвращается 0.
Переопределяет:
read в классе InputStream
Параметры:
b - буфер, в который считываются данные.
off - начальный смещение в целевом массиве b
len - максимальное количество считываемых байтов.
Возвращает:
общее количество считанных байтов в буфер, или -1, если больше нет данных, так как достигнут конец файла.
Исключения:
NullPointerException - если b равно null.
IndexOutOfBoundsException - если off отрицательно, len отрицательно или len больше b.length - off.
IOException - если произошла ошибка ввода-вывода.
См. также:
  • InputStream.read()

skip

public long skip(long n) throws IOException
Пропускает и отбрасывает n байтов данных из входного потока.

Метод skip может по разным причинам пропустить меньшее количество байтов, возможно 0. Если n отрицательно, метод попытается пропустить байты назад. Если поддерживающая файл система не поддерживает пропуск назад в текущей позиции, выбрасывается исключение IOException. Возвращается фактическое количество пропущенных байтов. Если пропуск вперёд, возвращается положительное значение. Если пропуск назад, возвращается отрицательное значение.

Этот метод может пропустить больше байтов, чем остаётся в поддерживающем файле. Это не вызывает исключение, и количество пропущенных байтов может включать некоторое количество байтов, которые были за пределами EOF поддерживающего файла. Попытка чтения из потока после пропуска за пределы конца вызовет -1, указывая на конец файла.

Переопределяет:
skip в классе InputStream
Параметры:
n - количество байтов для пропуска.
Возвращает:
фактическое количество пропущенных байтов.
Исключения:
IOException - если n отрицательно, если поток не поддерживает позиционирование, или если произошла ошибка ввода-вывода.
См. также:
  • InputStream.skipNBytes(long)

available

public int available() throws IOException
Возвращает оценку количества оставшихся байтов, которые можно прочитать (или пропустить) из этого входного потока без блокировки до следующего вызова метода для этого входного потока. Возвращает 0, когда позиция файла находится за пределами EOF. Следующий вызов может быть от того же потока или другого потока. Один единственный вызов read или skip с таким количеством байтов не заблокирует поток, но может прочитать или пропустить меньше байтов.

В некоторых случаях, неблокирующее чтение (или пропуск) может показаться заблокированным, когда это просто медленно, например, при чтении больших файлов по медленным сетям.

Переопределяет:
available в классе InputStream
Возвращает:
оценка количества оставшихся байтов, которые можно прочитать (или пропустить) из этого входного потока без блокировки.
Исключения:
IOException - если этот поток FileInputStream был закрыт вызовом close или произошла ошибка ввода-вывода.

close

public void close() throws IOException
Закрывает этот поток FileInputStream и освобождает все системные ресурсы, связанные с потоком.

Если у потока есть связанный канал, то канал также закрывается.

Унаследованное от:
close в интерфейсе AutoCloseable
Унаследованное от:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Примечание API:
Переопределение close() для выполнения действий очистки надёжно только при вызове непосредственно или при вызове в try-with-resources. Не полагайтесь на завершение работы для вызова close; завершение работы ненадёжно и устарело. Если нужна очистка нативных ресурсов, следует использовать другие механизмы, такие как Cleaner.
Исключения:
IOException - если произошла ошибка ввода-вывода.

getFD

public final FileDescriptor getFD() throws IOException
Возвращает объект FileDescriptor, представляющий соединение с фактическим файлом в файловой системе, используемый этим потоком FileInputStream.
Возвращает:
объект дескриптора файла, связанный с этим потоком.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FileDescriptor

getChannel

public FileChannel getChannel()
Возвращает уникальный объект FileChannel, связанный с этим потоком входных данных файла.

Начальное значение position возвращенного канала будет равно количеству байтов, прочитанных из файла до сих пор. Чтение байтов из этого потока увеличит позицию канала. Изменение позиции канала, явно или путем чтения, изменит позицию файла этого потока.

Возвращает:
канал файла, связанный с этим потоком входных данных файла
С:
1.4

© 1993, 2021, 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/17/docs/api/java.base/java/io/FileInputStream.html

Spec-Zone.ru

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