Класс FileDescriptor
- java.lang.Object
-
- java.io.FileDescriptor
public final class FileDescriptor extends Object
Экземпляры класса дескриптора файла служат неким непрозрачным указателем на внутреннюю структуру, специфичную для конкретной машины, представляющую открытый файл, открытый сокет или другой источник или приемник байтов. Основное практическое применение дескриптора файла — создание FileInputStream или FileOutputStream для его хранения.
Приложения не должны создавать собственные дескрипторы файлов.
- Since:
- 1.0
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static FileDescriptor | err | Указатель на поток стандартной ошибки. |
static FileDescriptor | in | Указатель на поток стандартного ввода. |
static FileDescriptor | out | Указатель на поток стандартного вывода. |
Конструкторы
| Конструктор | Описание |
|---|---|
FileDescriptor() | Создаёт объект FileDescriptor (недействительный). |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | sync() | Принудительно синхронизирует все системные буферы с базовым устройством. |
boolean | valid() | Проверяет, является ли этот объект дескриптора файла допустимым. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitПоля
in
public static final FileDescriptor in
Указатель на поток стандартного ввода. Обычно этот дескриптор файла не используется напрямую, а вместо этого используется поток ввода, известный как System.in.
- См. также:
System.in
out
public static final FileDescriptor out
Указатель на поток стандартного вывода. Обычно этот дескриптор файла не используется напрямую, а вместо этого используется поток вывода, известный как System.out.
- См. также:
System.out
err
public static final FileDescriptor err
Указатель на поток стандартной ошибки. Обычно этот дескриптор файла не используется напрямую, а вместо этого используется поток вывода, известный как System.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- Возникает, когда буферы не могут быть выгружены или когда система не может гарантировать, что все буферы были синхронизированы с физическим носителем. - Since:
- 1.1
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FileDescriptor.html