но я понятия не имею. Что это? и что он может сделать?
Может ли кто-нибудь объяснить мне?
Ответ 1
Что это такое?
Дескриптор файла - это объект, который процесс использует для чтения или записи в открытый файл и открытия сетевых сокетов.
FileDescriptor объекты, представляющие необработанные идентификаторы дескриптора файла Linux, могут быть записаны и ParcelFileDescriptor объекты возвращены для работы с исходным файловым дескриптором. Дескриптор возвращаемого файла представляет собой дубликат исходного дескриптора файла: объект и fd разные, но работают в одном и том же базовом потоке файлов с той же позицией.
и что он может сделать?
Создать каналы, создать fds из сокетов, открыть/закрыть файлы.
Ответ 2
Он реализует API-интерфейс Parcable, который позволяет помещать его в Bundles и Intents. Возможно, даже можно отправить FileDescriptor между процессом. (Я не тестировал это).
Также VPNService предоставляет ParcelFileDescriptor.
Ответ 3
Всякий раз, когда файл открывается, операционная система создает запись для представления этого файла и сохраняет свою информацию. Каждая запись представлена целочисленным значением, и эта запись называется файловым дескриптором.
В основном, Java-класс FileDescriptor предоставляет дескриптор базовой структуры, специфичной для машины, представляющей открытый файл, открытый сокет или другой источник или приемник байтов.