FileChannel 类

  • transferTo :把FileChannel中的数据拷贝到另外一个Channel
  • transferFrom :把另外一个Channel中的数据拷 贝到FileChannel

避免了两次用户态和内核态间的上下文切换,即”零拷贝”,效率较高
image.jpeg

FileChannel 主要用来对本地文件进行 IO 操作,常见的方法有

  • public int read(ByteBuffer dst) :从通道读取数据并放到缓冲区中
  • public int write(ByteBuffer src) :把缓冲区的数据写到通道中
  • public long transferFrom(ReadableByteChannel src, long position, long count):从目标通道中复制数据到当前通道
  • public long transferTo(long position, long count, WritableByteChannel target):把数据从当前通道复制给目标通道