java新IO---通道(Channel)

一,本章目标

了解通道的作用

使用通道完成读,写的双向操作


二,具体内容

在新IO中,通道是一个可以用来读取和写入数据的一种形式。

java新IO---通道(Channel)

通道都是操作缓冲区完成全部功能的。可以使用FileChannel完成文件的双向操作。

java新IO---通道(Channel)

写入数据例子:

java新IO---通道(Channel)

既然通道是一个双向操作,即可读又可写。

java新IO---通道(Channel)

在通道中还有一种方式成为内存映射。

java新IO---通道(Channel)

实际上现在已经学习过一下几种方式的读入方式:

①RandomAccessFile:速度较慢

②FileInputStream:速度较慢

③缓冲读取:速度较快

④内存映射:速度最快

内存映射的使用方式:需要把一个输入流绑定在直接映射上。

java新IO---通道(Channel)

只读的例子如下:

java新IO---通道(Channel)

内容映射在读取的时候是最快的,但是在使用以上操作代码的时候,执行的是写入操作是非常危险的,因为仅仅改变数组中单个元素这个简单的操作,就可能直接修改池畔上的文件,因为修改数据与将数据保存在磁盘上是一样的。



三,总结

掌握通道的作用,一定要明白通道是双向的,可读可写

内存映射速度最快

通道的操作是以缓冲区为主的。