Using AsynchronousFileChannel and CompletionHandler to read a file : Asynchronous Channel « JDK 7 « Java






Using AsynchronousFileChannel and CompletionHandler to read a file

import java.nio.ByteBuffer;
import java.nio.channels.AsynchronousFileChannel;
import java.nio.channels.CompletionHandler;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Test {

  public static void main(String[] args) throws Exception {

    Path file = Paths.get("/usr/a/foobar.txt");
    AsynchronousFileChannel channel = AsynchronousFileChannel.open(file);

    ByteBuffer buffer = ByteBuffer.allocate(100_000);

    channel.read(buffer, 0, buffer,
        new CompletionHandler<Integer, ByteBuffer>() {
          public void completed(Integer result, ByteBuffer attachment) {
            System.out.println("Bytes read [" + result + "]");
          }

          public void failed(Throwable exception, ByteBuffer attachment) {
            System.out.println(exception.getMessage());
          }
        });
  }
}

 








Related examples in the same category

1.Using AsynchronousFileChannel and Future to read
2.Writing to a file using the AsynchronousFileChannel class
3.Using AsynchronousFileChannel to write ByteBuffer and return Future
4.Reading from a file using the AsynchronousFileChannel class
5.Reading from a file using the AsynchronousFileChannel class
6.Managing asynchronous communication using the AsynchronousServerSocketChannel
7.Communication with AsynchronousSocketChannel