NIO.2 API 是对 Java I/O 功能的一次重大升级,它传统 java.io.File API(我们称之为 "BIO" 或 "Old I/O")有很大不同。

简单来说,NIO.2 是 Java 7 中引入的一套全新的、现代化的文件系统操作 API。

它的核心在于 java.nio.file 包,旨在彻底取代老旧且设计笨拙的 java.io.File 类。


NIO.2 到底是什么?

  1. NIO 的含义:NIO 本身代表 “Non-blocking I/O”(非阻塞I/O)。

NIO.2 解决了 java.io.File 的什么痛点?

java.io.File 类有很多问题:

NIO.2 的核心组件

NIO.2 引入了几个关键的类和接口来解决上述问题:

  1. Path 接口 (替换 File 类)
  2. Files 工具类 (核心功能)
  3. FileSystems 和 FileSystem (更灵活)

如何用 NIO.2 实现你图中的“拷贝文件夹”?

使用 NIO.2,你图中的 30 多行递归代码可以被极大地简化。