Java ByteBuffer read from ReadableByteChannel
import java.io.FileInputStream; import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; public class Main { public static void main(String[] argv) throws Exception { ReadableByteChannel channel = new FileInputStream("Main.java").getChannel(); ByteBuffer buf = ByteBuffer.allocateDirect(10); int numRead = 0; while (numRead >= 0) { buf.rewind();//from w w w . j ava2 s . co m numRead = channel.read(buf); buf.rewind(); // Read bytes from ByteBuffer; for (int i = 0; i < numRead; i++) { byte b = buf.get(); System.out.println(b); } } } }