Java NIO

来源:互联网 发布:驱鼠器 知乎 编辑:程序博客网 时间:2024/06/10 18:59

新IO和传统的IO有相同的目的,都是用来进行输入/输出,但是新IO使用了不同的方式来处理输入/输出,新IO采用内存映射文件的方式来处理输入/输出,新IO将文件或文件中的一段区域映射到内存中,这样就可以像访问内存一样访问文件.

java NIO相关的内容都在java.nio及其子包下:

java.nio:主要包含各种与Buffer相关的类

Buffer模型:可参考博客http://my.oschina.net/flashsword/blog/159613

java.nio.channels :主要包含Channel和Selector相关的类.

Channel中的数据无法直接读取,必须依赖于Buffer.

Selector用于支持非阻塞式输入输出.

java.nio.charset :主要包含与字符集有关的类.

提供字符编码解码等相关类容

在JDK1.7中添加了下列两个方面的内容:

1.文件访问

java.nio.file 及其子包:全面的文件IO盒文件系统访问支持;

Path:与平台无关的平台路径

Files:包含大量的文件操作工具,比如复制,追加,遍历文件等

              FileVisitor:文件访问器,提供一些方法供文件访问时相应处理

Paths: Path的工厂

java.nio.file.attribute:提供大量的工具类,可以修改,获取文件属性

2.异步Channel 的IO

在java.nio.channels下添加了多个以Asynchronous开头的Channel接口和类,以提供基于异步Channel的IO

0 0
原创粉丝点击