UNIX не поддерживает неблокирующий ввод / вывод для файлов, см. Неблокирующий ввод / вывод с обычными файлами .Поскольку Java должна (по крайней мере, пытаться) обеспечить одинаковое поведение на всех платформах, FileChannel
не реализует SelectableChannel
.
Однако Java 7 будет включать новый AsynchronousFileChannel
класс, который поддерживает асинхронный файловый ввод / вывод, который отличается от неблокирующего ввода / вывода.
Как правило, только сокеты и каналы действительно поддерживают неблокирующие операции ввода / вывода через механизм select()
.