Повторное использование Bytebuffer при чтении из FileChannelJAVA

Программисты JAVA общаются здесь
Anonymous
Повторное использование Bytebuffer при чтении из FileChannel

Сообщение Anonymous »

Скажите, что вы хотите прочитать 1100 байтов из файла, используя Java Bytebuffer и FileChannel: < /p>
ByteBuffer buffer1 = ByteBuffer.allocate(1,100);
int bytesRead = fileChannel.read(buffer1)
< /code>
Количество байтов для чтения неявно указано в выделенном размере буфера. Можно было прочитать меньше байтов, но это сам байтовый буфер, который указывает количество байтов для чтения из файла.ByteBuffer buffer2 = ByteBuffer.allocate(1,200);
bytesRead = fileChannel.read(buffer2)
< /code>
Мы не можем повторно использовать Buffer1 и вынуждены распределить новый буфер, Buffer2. < /p>
То, что я хотел бы видеть, предложение Java - это метод формы: < /p>
int read(ByteBuffer buffer, int offset, int length);
< /code>
Если я знаю максимальное количество байтов, я когда -либо прочитаю, я могу выделить один буфер только один раз и повторно использовать его. Повторное использование того же буфера? Или из сторонней библиотеки, которую я мог бы использовать?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ilechannel

Вернуться в «JAVA»