FileChannel解读
一、一般方法
1. 简述
顾名思义,FileChannel
就是连接到文件的 Channel
。使用 FileChannel
,你可以读取文件数据,以及往文件里面写入数据。Java NIO的FileChannel
是使用标准Java IO读取文件的一种替代方案。
FileChannel
配合着ByteBuffer
,将读写的数据缓存到内存中,然后以批量/缓存的方式read/write
,省去了非批量操作时的重复中间操作,操纵大文件时可以显著提高效率
FileChannel
不能被设置非阻塞模式,它总是以阻塞模式运行。
2.Opening a FileChannel
在你使用FileChannel
前,你必须先打开它。你不能直接打开一个FileChannel
。你必须通过一个InputStream
、OutputStream
或者RandomAccessFile
来获得一个FileChannel
。以下是如何通过一个RandomAccessFile
来获得FileChannel
的示例:
RandomAccessFile aFile = new RandomAccessFile("data/nio-data.txt", "rw");
FileChannel inChannel = aFi