MappedByteBuffer с несколькими файлами
Когда дело доходит до Java NIO MappedByteBuffer, возможно ли отобразить часть разных файлов в буфер? Что-то вроде этого:
buffer = infilechannel1.map(FileChannel.MapMode.READ_WRITE, infilechannel1.position(), infilechannel1.size());
Тогда как то так:
buffer = infilechannel2.map(FileChanne2.MapMode.READ_WRITE, infilechannel2.position(), infilechannel2.size());
В настоящее время происходит то, что в первом "путе" лимит буфера уже установлен на определенное значение. Второе "помещение" в буфер вызывает исключение переполнения буфера. Я выделил достаточно места для буфера.
Как мне обновить (т.е. добавить) этот буфер значениями из второго файла?
РЕДАКТИРОВАТЬ: мой первоначальный вопрос был неправильным. Редактирование так, чтобы это имело больше смысла.
У меня есть несколько больших файлов (скажем, 4, и на данный момент равных по размеру), и файлы, даже по отдельности, не поместятся в памяти. Я должен выполнить операции над 4 файлами и создать один выходной файл. Так как моя память довольно мала по сравнению с размером файла, я могу обрабатывать только 4 блока за раз, то есть один блок из каждого файла за раз. Я могу либо создать несколько MemoryByteBuffers, которые отображаются в этот конкретный блок в файлах, а затем записать в ByteBuffer для обработки ИЛИ я могу напрямую записать каждый блок в ByteBuffer.
Есть ли какое-то преимущество / смысл в использовании MemoryByteBuffer в этом сценарии?