# 路径类

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

Java SE 7 版本中引入的 [`Path`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html) 类是 [`java.nio.file`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/package-summary.html) 软件包的主要入口点之一。如果您的应用程序使用文件 I / O，您将需要了解此类的强大功能。

* * *

**Version Note:** If you have pre-JDK7 code that uses `java.io.File`, you can still take advantage of the `Path` class functionality by using the [`File.toPath`](https://docs.oracle.com/javase/8/docs/api/java/io/File.html#toPath--) method. See [Legacy File I/O Code](legacy.html) for more information.

* * *

顾名思义，`Path`类是文件系统中路径的编程表示。 `Path`对象包含用于构造路径的文件名和目录列表，用于检查，定位和操作文件。

`Path`实例反映了底层平台。在 Solaris OS 中，`Path`使用 Solaris 语法（`/home/joe/foo`），在 Microsoft Windows 中，`Path`使用 Windows 语法（`C:\home\joe\foo`）。 `Path`与系统无关。您无法比较 Solaris 文件系统中的`Path`并期望它与 Windows 文件系统中的`Path`匹配，即使目录结构相同且两个实例都找到相同的相对文件。

与`Path`对应的文件或目录可能不存在。您可以创建`Path`实例并以各种方式对其进行操作：您可以附加到它，提取它的部分，将其与另一个路径进行比较。在适当的时候，您可以使用 [`Files`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html) 类中的方法来检查`Path`对应的文件是否存在，创建文件，打开文件，删除文件，更改权限，等等。

下一页详细检查`Path`类。