NIO学习(十一):Java NIO的FileChannel的简单使用

100 阅读1分钟
背景
  1. java.io包下的FileInputStream和FileOutputStream持有java.nio.channels包下 的FileChannle引用,并提供getChannle方法。

简单使用
  1. 准备两个文件,一个是input.txt,一个是output.txt。
  2. input.txt中的内容是Hello FileChannel.
  3. output.txt中的内容是空的。
  4. 测试代码:
 public static void main(String[] args) throws  Exception{
        FileInputStream inputStream = new FileInputStream("input.txt");
        FileOutputStream outputStream = new FileOutputStream("output.txt");

        FileChannel inputChannel = inputStream.getChannel();
        FileChannel  outputChannel = outputStream.getChannel();

        ByteBuffer buffer = ByteBuffer.allocateDirect(1024);

        while (true) {
            buffer.clear();
            int read = inputChannel.read(buffer);
            if (-1 == read) {
                break;
            }

            buffer.flip();

            outputChannel.write(buffer);
        }
        inputChannel.close();
        outputChannel.close();
    }
  1. 测试结果 在这里插入图片描述

小结
  1. FileChannle的一个简单应用。