背景
- 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的一个简单应用。