java新IO---通道(Channel)
一,本章目标
了解通道的作用
使用通道完成读,写的双向操作
二,具体内容
在新IO中,通道是一个可以用来读取和写入数据的一种形式。
通道都是操作缓冲区完成全部功能的。可以使用FileChannel完成文件的双向操作。
写入数据例子:
既然通道是一个双向操作,即可读又可写。
在通道中还有一种方式成为内存映射。
实际上现在已经学习过一下几种方式的读入方式:
①RandomAccessFile:速度较慢
②FileInputStream:速度较慢
③缓冲读取:速度较快
④内存映射:速度最快
内存映射的使用方式:需要把一个输入流绑定在直接映射上。
只读的例子如下:
内容映射在读取的时候是最快的,但是在使用以上操作代码的时候,执行的是写入操作是非常危险的,因为仅仅改变数组中单个元素这个简单的操作,就可能直接修改池畔上的文件,因为修改数据与将数据保存在磁盘上是一样的。
三,总结
掌握通道的作用,一定要明白通道是双向的,可读可写
内存映射速度最快
通道的操作是以缓冲区为主的。