Module  java.base

Package java.nio.file

定义Java虚拟机访问文件,文件属性和文件系统的接口和类。

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

Symbolic Links

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

Interoperability

File类通过转换由java.io.File对象表示的抽象路径来定义toPath方法来构造一个Path 所得到的Path可用于与File对象相同的文件操作。 所述Path规范提供了关于所述另外的信息interoperability之间Pathjava.io.File对象。

能见度

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

Synchronized I/O File Integrity

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

一般例外

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

除非另有说明,尝试访问文件系统的方法将引发ClosedFileSystemException上有关联的对象调用时FileSystem已经closed 此外,当与仅提供只读访问的FileSystem相关联的对象上调用时,尝试写入文件系统的任何方法将抛出ReadOnlyFileSystemException

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

可选具体异常

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