Нет, если вы не хотите написать обертку JNI для , выберите (2) самостоятельно или не можете найти ее в сети.(Я посмотрел вкратце и не нашел ни одного.) Вероятно, это тоже будет небольшая забавная задача, если вы хотите поддержать идею Java об открытом файле (например, отобразить Java InputStream
в файл Unix).дескриптор).
Предпочтительный способ сделать это в Java, как вы заметили, с помощью java.nio
.nio
имеет некоторые ограничения.Самая большая разница между nio
и select (2), кроме API-различий, заключается в том, что nio
будет мультиплексироваться только через сетевые сокеты.Например, вы не можете использовать его для множественного выбора открытых файлов.