这个图解阐明了nio 类之间的关系,便于我们理解怎么移动和转换数据。例如,如果我们想
把一个字节数组写到文件中去,那么我们就应该使用 ByteBuffer.wrap( )方法把字节数组
包装起来,然后用getChannel( )方法在 FileOutputStream 上打开一个通道,接着将来
自于 ByteBuffer 的数据写到 FileChannel 中。
注意:ByteBuffer 是将数据移进移出通道的唯一方式,并且我们只能创建一个独立的基本
类型缓冲器,或者使用“as”方法从 ByteBuffer 中获得。也就是说,我们不能把基本类型的
缓冲器转换成ByteBuffer。然而,由于我们可以经由视图缓冲器将基本类型数据移进移出
ByteBuffer,所以这也就不是什么真正意义上的限制了。