Here you can find the source of readBuffer(ByteChannel channel, ByteBuffer buffer)
Parameter | Description |
---|---|
channel | byte channel |
buffer | buffer |
Parameter | Description |
---|---|
IOException | exception |
public static int readBuffer(ByteChannel channel, ByteBuffer buffer) throws IOException
//package com.java2s; /*/*from w ww .j a v a 2s . com*/ * Copyright (c) 2014, 2017, Marcus Hirt, Miroslav Wengner * * Robo4J is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Robo4J 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Robo4J. If not, see <http://www.gnu.org/licenses/>. */ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.ByteChannel; public class Main { /** * reading buffer * * @param channel * byte channel * @param buffer * buffer * @return read bytes * @throws IOException * exception */ public static int readBuffer(ByteChannel channel, ByteBuffer buffer) throws IOException { int numberRead = channel.read(buffer); int position = 0; int totalRead = numberRead; while (numberRead >= 0 && position <= buffer.capacity()) { numberRead = channel.read(buffer); if (numberRead > 0) { totalRead += numberRead; } position++; } return totalRead; } }