Java NIO 文件通道使用

Posted linlf03

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java NIO 文件通道使用相关的知识,希望对你有一定的参考价值。

读取一个文件的内容,然后写入另外一个文件

public class NioTest4 

    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.allocate(1024);
        while (true)
            buffer.clear();
            int read = inputChannel.read(buffer);
            if( -1 == read)
                break;
            
            buffer.flip();

            outputChannel.write(buffer);

        
        inputChannel.close();
        outputChannel.close();

    


  通过NIO读取文件涉及3个步骤

1、从FileInputStream获取FileChannel对象

2、创建Buffer

3、将数据从Channel读取到Buffer中

 

    绝对方法与相对方法的含义

1、相对方法: limit值与position值会在操作时被考虑到

2、绝对方法: 完全忽略调limit值和position值。

 

以上是关于Java NIO 文件通道使用的主要内容,如果未能解决你的问题,请参考以下文章

Java NIO3:通道和文件通道

Java NIO文件通道

Java NIO 文件通道使用

Java NIO4:Socket通道

Java NIO4:Socket通道

java nio 通道