背景
- java.io包下的FileInputStream和FileOutputStream持有java.nio.channels包下 的FileChannle引用,并提供getChannle方法。
简单使用
- 准备两个文件,一个是input.txt,一个是output.txt。
- input.txt中的内容是Hello FileChannel.
- output.txt中的内容是空的。
- 测试代码:
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()
}
- 测试结果

小结
- FileChannle的一个简单应用。