一、NIO 是什么
NIO(New IO)面向通道 Channel 和缓冲区 Buffer,支持非阻塞与选择器 Selector,适合高并发网络编程。日常文件复制也可直接用 Files 工具类。
二、Files 工具类(最常用)
Path p = Paths.get("a.txt");
byte[] data = Files.readAllBytes(p); // 读全部
Files.write(p, "hi".getBytes()); // 写
Files.copy(src, dst, StandardCopyOption.REPLACE_EXISTING);
List<String> lines = Files.readAllLines(p); // 按行读
三、对比
| 维度 | IO | NIO |
|---|---|---|
| 模型 | 流式、阻塞 | 缓冲、可选非阻塞 |
| 适用 | 简单文件读写 | 高并发网络/大文件 |
| 日常 | 够用 | 用 Files 即可 |
普通业务用 Files/缓冲流足够,NIO 的非阻塞多用于框架底层(如 Netty)。