您的位置:首页 > 编程语言 > Java开发

Java 异步IO(1) 文件异步IO

2014-11-13 19:35 375 查看
大家写过多线程都用过java.util.concurrent包,自己创建线程池,自己实现run 或者call接口创建线程类,之后提交给线程池运行。

之前大家读写文件,必须得等待IO完成。如果要想节约时间,还得自己实现上面多线程那一套。今天刚知道异步IO这个东西,不用自己实现多线程了。下面是示例代码:

public static void asynchronousFileIO()
{
Path path = Paths.get("resource/Stopword.txt");

try
{
AsynchronousFileChannel channel = AsynchronousFileChannel.open(path);
ByteBuffer buffer = ByteBuffer.allocate(1000);
Future<Integer> future = channel.read(buffer, 0);

while (!future.isDone())
{
System.out.println("Do others...");
}

Integer number = future.get();
System.out.println("Read " + number + " content : " + new String(buffer.array()));

channel.close();

} catch (IOException | InterruptedException | ExecutionException e)
{
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: