Java NIO (New Input/Output) 是 Java 的一部分,它提供了与标准 I/O 相同的功能,但提供了不同的编程模型。NIO 主要用于提高 I/O 操作的效率,特别是在处理大量数据或者需要高并发的场景。

主要特点

  • 非阻塞 I/O: NIO 允许你以非阻塞的方式读写数据,这意味着你的程序可以同时处理多个 I/O 请求。
  • 缓冲区: NIO 使用缓冲区来处理 I/O 操作,这可以减少系统调用的次数,提高效率。
  • 选择器: NIO 的选择器(Selector)允许一个单独的线程来管理多个通道(Channel),这进一步提高了效率。

示例代码

下面是一个简单的 Java NIO 例子,展示了如何使用缓冲区来读取文件:

FileInputStream fis = new FileInputStream("example.txt");
ByteBuffer buffer = ByteBuffer.allocate(1024);
int bytesRead = fis.read(buffer);
while (bytesRead != -1) {
    buffer.flip();
    while (buffer.hasRemaining()) {
        System.out.print((char) buffer.get());
    }
    buffer.clear();
    bytesRead = fis.read(buffer);
}
fis.close();

扩展阅读

更多关于 Java NIO 的信息,可以参考以下链接:

Java NIO 图标