# 摘要

> 原文： [https://docs.oracle.com/javase/tutorial/essential/io/summary.html](https://docs.oracle.com/javase/tutorial/essential/io/summary.html)

`java.io`包中包含许多程序可用于读写数据的类。大多数类实现顺序访问流。顺序访问流可以分为两组：读取和写入字节的那些以及读取和写入 Unicode 字符的那些。每个顺序访问流都具有特殊性，例如读取或写入文件，过滤数据作为其读取或写入，或序列化对象。

`java.nio.file`包为文件和文件系统 I / O 提供了广泛的支持。这是一个非常全面的 API，但关键切入点如下：

*   `Path`类具有操作路径的方法。
*   `Files`类具有文件操作方法，例如移动，复制，删除以及检索和设置文件属性的方法。
*   `FileSystem`类有多种方法可用于获取有关文件系统的信息。

有关 NIO.2 的更多信息，请参见 [OpenJDK：NIO](http://openjdk.java.net/projects/nio/) 项目网站。此站点包含 NIO.2 提供的功能的资源，这些功能超出了本教程的范围，例如多播，异步 I / O 和创建自己的文件系统实现。