首页 > Java > java教程 > 正文

询问专家 - I/O

Linda Hamilton
发布: 2024-11-13 12:03:02
原创
163 人浏览过

Pergunte ao especialista - I/O

我听说了另一个名为 NIO 的 I/O 包。能告诉我一下吗?

NIO 包最初称为 New I/O,由 JDK 1.4 添加到 Java 中。它支持基于通道的 I/O 操作方法。 NIO 类位于 java.nio 包及其下属包中,例如 java.nio.channels 和 java.nio.charset。
NIO 基于两个基本项:缓冲区和通道。缓冲区存储数据,通道表示与 I/O 设备(例如文件或套接字)的打开连接。一般来说,要使用新的I/O系统,我们必须获得一个带有I/O设备的通道和一个用于存储数据的缓冲区。然后我们对缓冲区进行操作,在必要时插入或显示数据。
NIO 使用的另外两个实体是字符集和
选择器。字符集定义了字节映射到字符的方式。我们可以使用编码器以字节的形式对字符序列进行编码。我们可以使用解码器将字节序列解码为字符形式。选择器支持基于键、非阻塞和多路复用的 I/O。换句话说,选择器允许我们跨多个通道执行 I/O。它们最适用于基于套接字的通道。
从 JDK 7 开始,NIO 经历了深刻的改进,因此术语 NIO.经常使用2。改进包括三个新包(java.nio.file、java.nio.file.attribute 和 java.nio.file.spi);几个新的类、接口和方法;以及对基于流的 I/O 的直接支持。这些新增内容扩展了 NIO 的使用方式,尤其是文件。
重要的是要理解 NIO 不会取代 java.io 中的 I/O 类,本章将讨论这些类。相反,NIO 类旨在补充标准 I/O 系统,提供一种替代方法,这在某些情况下可能是有益的。

以上是询问专家 - I/O的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板