Класс FileDescriptor
java.lang.Object
java.io.FileDescriptor
public final class FileDescriptor extends Object
Экземпляры класса описателя файла служат неким непрозрачным дескриптором, ссылающимся на внутреннюю, специфичную для машины структуру, представляющую открытый файл, открытый сокет или другой источник или сток байтов. Основное практическое применение описателя файла — создание
FileInputStream или FileOutputStream для его содержания. Приложения не должны создавать собственные описатели файлов.
- С момента:
- 1.0
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final FileDescriptor |
err |
Дескриптор потока стандартной ошибки. |
static final FileDescriptor |
in |
Дескриптор потока стандартного ввода. |
static final FileDescriptor |
out |
Дескриптор потока стандартного вывода. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FileDescriptor() |
Создаёт объект FileDescriptor (недействительный). |
Краткое описание методов
Подробное описание полей
in
public static final FileDescriptor in
Дескриптор потока стандартного ввода. Обычно этот описатель файла не используется напрямую, а используется через поток ввода, известный как
System.in.- См. также:
out
public static final FileDescriptor out
Дескриптор потока стандартного вывода. Обычно этот описатель файла не используется напрямую, а используется через поток вывода, известный как
System.out.- См. также:
err
public static final FileDescriptor err
Дескриптор потока стандартной ошибки. Обычно этот описатель файла не используется напрямую, а используется через поток вывода, известный как
System.err.- См. также:
Подробное описание конструкторов
FileDescriptor
public FileDescriptor()
Создаёт объект FileDescriptor (недействительный). Дескриптор fd или дескриптор устанавливается позже.
Подробное описание методов
valid
public boolean valid()
Проверка, является ли этот объект описателя файла действительным.
- Возвращает:
-
trueесли объект описателя файла представляет собой действительный, открытый файл, сокет или другое активное подключение ввода/вывода;falseв противном случае.
sync
public void sync() throws SyncFailedException
Принудительная синхронизация всех системных буферов с базовым устройством. Этот метод возвращает после записи всех изменённых данных и атрибутов этого FileDescriptor в соответствующее устройство(я). В частности, если этот FileDescriptor ссылается на физический носитель хранения, например, на файл в файловой системе, sync вернётся только после того, как все изменённые копии буферов в памяти, связанные с этим FileDescriptor, будут записаны на физический носитель. sync предназначен для использования кодом, которому требуется, чтобы физическое хранилище (например, файл) находилось в известном состоянии. Например, класс, предоставляющий простую функцию транзакций, может использовать sync для обеспечения того, чтобы все изменения файла, вызванные данной транзакцией, были записаны на носителе хранения. sync влияет только на буферы ниже этого FileDescriptor. Если приложение выполняет буферизацию в памяти (например, с помощью объекта BufferedOutputStream), эти буферы необходимо сбросить в FileDescriptor (например, вызвав OutputStream.flush), прежде чем эти данные будут затронуты sync.
- Исключения:
-
SyncFailedException— Бросается, когда буферы не могут быть сброшены или потому, что система не может гарантировать, что все буферы были синхронизированы со средствами физического хранения. - С момента:
- 1.1
© 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.base/java/io/FileDescriptor.html