Java/File Input Output/ReadableByteChannel

Материал из Java эксперт
Перейти к: навигация, поиск

Read from a channel with a ByteBuffer

   <source lang="java">

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();
     for (int i = 0; i < numRead; i++) {
       byte b = buf.get();
     }
   }
 }

}

</source>