Module java.base

Package java.nio.file


package java.nio.file
定义了Java虚拟机访问文件、文件属性和文件系统的接口和类。

java.nio.file包定义了访问文件和文件系统的类。访问文件和文件系统属性的API定义在java.nio.file.attribute包中。java.nio.file.spi包被服务提供者实现者用于扩展平台默认提供者,或构建其他提供者实现。

符号链接

许多操作系统和文件系统支持符号链接。符号链接是一个特殊文件,用作对另一个文件的引用。在大多数情况下,应用程序对符号链接是透明的,对符号链接的操作会自动重定向到链接的目标。唯一的例外是当符号链接被删除或重命名/移动时,链接会被删除或移除,而不是链接的目标。该包包括对符号链接的支持,其中实现提供这些语义。文件系统可能支持其他类型,这些类型在语义上接近,但不包括在此包中对这些其他类型链接的支持。

互操作性

File类定义了toPath方法,通过转换由java.io.File对象表示的抽象路径来构造一个Path。生成的Path可用于对与File对象相同的文件进行操作。 Path规范提供了有关Pathjava.io.File对象之间的互操作性的进一步信息。

可见性

此包中的类提供的文件和文件系统视图保证与同一Java虚拟机中的其他实例提供的其他视图一致。然而,该视图可能与其他同时运行的程序所看到的文件系统视图不一致,这是由底层操作系统执行的缓存和网络文件系统协议引起的延迟所致。这是真实的,无论这些其他程序使用的语言是什么,以及它们是在同一台机器上运行还是在其他机器上运行。任何此类不一致性的确切性质取决于系统,因此未指定。

同步I/O文件完整性

在打开文件时使用SYNCDSYNC选项要求将对文件的更新同步写入底层存储设备。对于默认提供者,如果文件驻留在本地存储设备上,并且seekable通道连接到使用这些选项之一打开的文件,则对write方法的调用仅在该调用对文件所做的所有更改都已写入设备时才返回。这些选项对于确保在系统崩溃时不会丢失关键信息非常有用。如果文件不驻留在本地设备上,则不提供此类保证。其他provider实现是否可能提供此保证是特定于提供者的。

常见异常

除非另有说明,向此包中的任何类或接口的构造函数或方法传递null参数将导致抛出NullPointerException。此外,调用包含null元素的数组或集合的方法将导致NullPointerException,除非另有说明。

除非另有说明,尝试访问文件系统的方法在与已关闭的FileSystem关联的对象上调用时将抛出ClosedFileSystemException。此外,任何尝试对只提供只读访问权限的FileSystem关联的对象进行写访问的方法将在调用时抛出ReadOnlyFileSystemException

除非另有说明,使用一个provider创建的类或接口的方法,参数是由另一个提供者创建的对象,将抛出ProviderMismatchException

可选特定异常

此包中定义的大多数方法访问文件系统时指定当发生I/O错误时抛出IOException。在某些情况下,这些方法为常见情况定义了特定的I/O异常。这些异常,被标记为可选特定异常,在实现可以检测到特定错误时抛出。如果无法检测到特定错误,则抛出更一般的IOException
自版本:
1.7