Skip to content

NIO.2

JDK 7 对 NIO 进行了重大增强,引入了现代化的文件操作 API。

核心内容

Path 与 Files

Path 是文件路径的现代化表示,替代了旧的 File 类。

详见:Path 和 Paths 类

Files 是文件操作的全能工具类,读写、复制、移动、遍历,一个类全搞定。

详见:Files 工具类

WatchService

WatchService 让你监听文件系统的变化,实现热重载、文件同步等功能。

详见:WatchService 文件监听

为什么需要 NIO.2

旧 API 的问题:

  • File 类的方法返回值不一致,有的返回 boolean,有的返回 void
  • File 类不支持 Path,处理路径字符串很麻烦
  • 没有统一的时间属性 API
  • 遍历目录不支持流式处理

NIO.2 的改进:

  • Path + Files 统一了文件操作
  • 所有操作都返回一致的类型
  • 支持流式处理,符合函数式编程趋势
  • WatchService 弥补了旧 API 缺失的文件监听能力

总结

组件作用替代
Path文件路径表示File
Paths创建 Path 工具new File()
Files文件操作全能类File 的各种方法
WatchService文件监听

NIO.2 让 Java 的文件操作终于现代化了。

如果你是从旧版本升级过来的,值得花时间熟悉这套新 API。

基于 VitePress 构建