作家
登录

Java NIO类库关系图解

作者: 来源: 2012-06-12 19:03:22 阅读 我要评论

下面这张图给出了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构建工具

  推荐阅读

  浅析Tomcat NIO 配置

Tomcat 6.X实现了JCP的Servlet 2.5和JSP2.1的规范,并且包括其它很多有用的功能,使它成为开发和部署web应用和web服务的坚实平台。NIO (No-blocking I/O)从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞I>>>详细阅读


本文标题:Java NIO类库关系图解

地址:http://www.17bianji.com/kaifa2/Java/1617.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)