Java FileChannel Read readFully(FileChannel fileChannel, long filePosition, ByteBuffer buffer)

Here you can find the source of readFully(FileChannel fileChannel, long filePosition, ByteBuffer buffer)

Description

read Fully

License

Open Source License

Declaration

public static void readFully(FileChannel fileChannel, long filePosition, ByteBuffer buffer) throws IOException 

Method Source Code


//package com.java2s;
/*// w  w  w.j av a  2  s  . c  o m
 *      Copyright (C) 2015  higherfrequencytrading.com
 *
 *      This program is free software: you can redistribute it and/or modify
 *      it under the terms of the GNU Lesser General Public License as published by
 *      the Free Software Foundation, either version 3 of the License.
 *
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU Lesser General Public License for more details.
 *
 *      You should have received a copy of the GNU Lesser General Public License
 *      along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Main {
    public static void readFully(FileChannel fileChannel, long filePosition, ByteBuffer buffer) throws IOException {
        int startBufferPosition = buffer.position();
        while (buffer.remaining() > 0 && buffer.position() < fileChannel.size()) {
            int bytesRead = fileChannel.read(buffer, filePosition + buffer.position() - startBufferPosition);
            if (bytesRead == -1)
                break;
        }
    }
}

Related

  1. readFully(FileChannel channel, ByteBuffer buffer)
  2. readFully(FileChannel channel, ByteBuffer buffer, long ptr)
  3. readFully(FileChannel channel, ByteBuffer dst)
  4. readFully(FileChannel channel, long offset, ByteBuffer buf)