Сбор нескольких файлов с использованием выбираемых файловых каналов

Я реализовал многофайловый входной поток сборщика, который может читать и объединять данные из ранее разбросанных файловых сегментов. Тем не менее, текущая версия использует RandomAccessFile вместе с фиксированным размером ExecutorService, и с большим количеством ресурсов процессора. Я хотел бы избежать этих потоков ввода / вывода и выполнить однопоточный подход на основе селектора. К сожалению, FileChannel (или Path.newByteChannel ()) в JDK7 недоступен для выбора. Есть ли способ сделать этот сбор данных в режиме NIO?

2 ответа

Решение

Посмотрите на AsynchronousFileChannel в jdk7.

Очень поздний ответ, но почему он должен быть выбираемым? Он разбрасывает чтения и собирает записи, а файлы всегда готовы для чтения и записи. Так почему выбирается?

Другие вопросы по тегам