Java NIO 教程

17 Mar 2025 | 阅读 2 分钟

Java 提供了一个名为 NIO(New I/O)的第二个 I/O 系统。Java NIO 提供了一种与标准 I/O API 不同的 I/O 操作方式。它是 Java 的一个替代 I/O API(从 Java 1.4 开始)。

它支持面向缓冲区、基于通道的 I/O 操作方法。随着 JDK 7 的引入,NIO 系统得到了扩展,为文件系统功能和文件处理提供了增强的支持。由于 NIO 文件类所支持的功能,NIO 被广泛应用于文件处理。

NIO 的开发目的是允许 Java 程序员在不使用自定义本地代码的情况下实现高速 I/O。NIO 将填充、命名和刷新缓冲区等耗时的 I/O 活动移回操作系统,从而极大地提高了操作速度。

Java NIO 的基本组件如下所示

Java Nio tutorial
  • 通道和缓冲区:在标准 I/O API 中使用字符流和字节流。在 NIO 中,我们使用通道和缓冲区。数据总是从缓冲区写入通道,从通道读入缓冲区。
  • 选择器:Java NIO 提供了“选择器”的概念。它是一个对象,可用于监控多个通道的事件,如数据到达、连接打开等。因此,单个线程可以监控多个通道的数据。
  • 非阻塞 I/O:Java NIO 提供了非阻塞 I/O 功能。在这里,应用程序会立即返回任何可用的数据,并且应用程序需要一种轮询机制来了解何时有更多数据可用。

让我们看看非阻塞 I/O 的应用程序和操作系统接口

Java Nio tutorial1
下一主题Java NIO 组件