Нет, у меня не было случая использования, когда это имеет смысл. не
FileDescriptor
documentation довольно ясно, что в то время как вы можете построить FileDescriptor
непосредственно, вы должны:
Экземпляры класса дескриптора файла служат непрозрачным ручкой для основной машины специфичной структура, представляющая открытый файл, открытый сокет или другой источник или приемник байтов. Основным практическим применением файлового дескриптора является создание FileInputStream или FileOutputStream, чтобы его содержать. Приложения не должны создавать свои собственные файловые дескрипторы .
Отметить последнее предложение: Приложения не должны создавать свои собственные файловые дескрипторы.
FileDescriptor()
documentation объясняет дальше (как вы нашли):
конструирует (недопустимый) объект FileDescriptor.
Поэтому newFileDescriptor.valid()
вернет false
.
Сказав это, если вы непосредственно построить FileDescriptor
, это, безусловно, является действительным Java объект в общем смысле. Например, следующий код ...
FileDescriptor newFileDescriptor = new FileDescriptor();
System.out.println(newFileDescriptor.getClass());
... выходы ...
класс java.io.FileDescriptor
... так же, как можно было бы ожидать; но это, конечно, не особенно полезно - для объекта, который можно было бы использовать в качестве файлового дескриптора.
Нижняя линия, отделяющая волосы в сторону, лучше следовать совету документации.
, основанный на странице API, нет других конструкторов, поэтому я бы сказал, что нет. – chris
FileDescriptor() Создает объект (недействительный) FileDescriptor. – paxmemento
Это описание конструктора от Javadoc – paxmemento