第二章 新I/O
java7的新I/OAPI(即NIO.2)JSR-203.是一组新的类和方法,在java.nio包内。
优点:
1完全取代了java.io.File与文件系统的交互
2它提供了新的异步处理类,无需手动配置线程池和其他底层并发控制 便可在后台线程中执行文件和网络I/O操作。
3它引入了新的Network-Channel构造方法,简化了套接字(Socket)与通道的编码工作。
(支持目录树的直接导航(Files.walkFileTree(),),能用一行代码读取文件属性(Files.readAttributes()).
发展趋势:
1 对其他数据存储方法的探索,特别是非关系或大数据集领域。NIO.2可以用一种异步、有效的方式读写大文件,还能利用底层操作系统的特性。
2多核CPU的发展 使得真正并发且更快的I/O成为可能。
注:Perl-正则表达式之王
文件I/O的基石:Path
NIO.2中的Path是一个抽象构造。在调用Files.createFile(Path target)之前 文件不存在 JVM只会把Path绑定到运行时的物理位置上。
关键基础类
Path Path类中的方法可以用来获取路径信息,访问该路径中的各元素,将路径转换为其他形式或提取路径中的一部分
Paths 工具类 提供一个路径的辅助方法
FileSystem 与文件系统交互的类,无论是默认的文件系统还是通过其统一资源标识(URI)获取的可选文件系统。
FileSystems 工具类,提供各种方法。
NIO的异步 将来式 回调式