Java NIO类库关系图解

开发 后端
本文主要讲解了nio类库的各个类之间的关系,这样你就能知道该怎样移动和转换数据了。

下面这张图给出了nio类库的各个类之间的关系,这样你就能知道该怎样移动和转换数据了。举例来说,如果你想把byte数组写进文件,你得先用ByteBuffer.wrap( )方法把这个byte数组wrap成buffer,再用getChannel( )在FileOutputStream上打开一个channel,然后才能用ByteBuffer把数据写入FileChannel。

注意,ByteBuffer是往channel里读写数据的***途径,而且你只能创建这一种byte基本类型的缓冲器ByteBuffer,其余基本类型的缓冲器要用"as" 方法来获取 。另外你不能把基本类型buffer转换成ByteBuffer ,不过你可以用view buffer往ByteBuffer里读写基本类型数据 ,所以这实际上也不是什么限制了。

另外,视图是一种逻辑上的概念,通过视图操作实质上就是对ByteBuffer的操作,就像通过Iterator操作List一样。虽然我们可以用wrap() 直接把char数组转换成CharBuffer,但实际上它还是一个ByteBuffer,而CharBuffer只是它的view。由此可知,我们操控的对象永远都是ByteBuffer,因为只有它才能往channel里读写数据 ,其他基本类型数据缓冲器原理一样。

原文链接:http://jiangzhengjun.iteye.com/blog/515715

【编辑推荐】

  1. 浅析Tomcat NIO 配置
  2. Java NIO API详解
  3. Java NIO基本使用实例
  4. Java NIO的介绍及工作原理
  5. Apache Ant对决Make:实战Java构建工具
责任编辑:林师授 来源: junJZ_2008得博客
相关推荐

2011-12-12 10:33:47

JavaNIO

2011-12-12 10:19:00

JavaNIO

2010-06-09 10:04:59

UML类图

2021-03-04 09:28:31

网络犯罪团伙黑客恶意软件

2011-12-07 14:57:44

JavaNIO

2011-12-15 09:55:47

javanio

2011-12-15 11:19:08

JavaNIO

2011-12-15 09:40:06

Javanio

2011-12-08 10:24:53

JavaNIO

2010-04-02 13:13:28

云计算

2015-09-25 09:14:50

java缓冲技术

2011-12-07 14:41:51

JavaNIO

2011-12-07 16:12:29

JavaNIO

2022-02-22 08:00:48

JavaNIOBuffer

2011-12-15 10:43:20

JavaNIO

2011-12-15 10:10:33

Javanio

2010-06-29 13:11:40

UML类图依赖关系

2010-06-12 18:30:57

UML类图关系

2010-06-30 14:46:49

UML类图

2023-04-10 09:11:27

HutoolJava工具
点赞
收藏

51CTO技术栈公众号