Java/File Input Output/ReadableByteChannel

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

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