NIO
Posted cppdy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIO相关的知识,希望对你有一定的参考价值。
使用直接缓冲区完成文件的复制(内存映射文件)
package com.cppdy.nio; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.FileChannel.MapMode; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; //使用直接缓冲区完成文件的复制(内存映射文件) public class NIOBufferDemo2 { public static void main(String[] args) throws Exception { //直接缓冲区 FileChannel inChannel = FileChannel.open(Paths.get("F:\cppdy\1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("F:\cppdy\2.jpg"), StandardOpenOption.READ,StandardOpenOption.WRITE,StandardOpenOption.CREATE); //缓冲区 MappedByteBuffer inMap = inChannel.map(MapMode.READ_ONLY, 0, inChannel.size()); MappedByteBuffer outMap = outChannel.map(MapMode.READ_WRITE, 0, inChannel.size()); //直接对缓冲区进行数据读写操作 byte[] bytes=new byte[inMap.limit()]; inMap.get(bytes); outMap.put(bytes); outMap.clear(); System.out.println("复制完毕"); } }
以上是关于NIO的主要内容,如果未能解决你的问题,请参考以下文章
Netty——NIO(Selector处理read事件)代码示例