Mega Code Archive

 
Categories / Java / File Input Output
 

Reading from a Channel with a ByteBuffer

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("infile").getChannel();     ByteBuffer buf = ByteBuffer.allocateDirect(10);     int numRead = 0;     while (numRead >= 0) {       buf.rewind();       numRead = channel.read(buf);       buf.rewind();       // Read bytes from ByteBuffer; see also       for (int i = 0; i < numRead; i++) {         byte b = buf.get();       }     }   } }