Package java.nio.file
java.nio.file包定义了访问文件和文件系统的类。访问文件和文件系统属性的API定义在java.nio.file.attribute
包中。java.nio.file.spi
包被服务提供者实现者用于扩展平台默认提供者,或构建其他提供者实现。
符号链接
许多操作系统和文件系统支持符号链接。符号链接是一个特殊文件,用作对另一个文件的引用。在大多数情况下,应用程序对符号链接是透明的,对符号链接的操作会自动重定向到链接的目标。唯一的例外是当符号链接被删除或重命名/移动时,链接会被删除或移除,而不是链接的目标。该包包括对符号链接的支持,其中实现提供这些语义。文件系统可能支持其他类型,这些类型在语义上接近,但不包括在此包中对这些其他类型链接的支持。
互操作性
File
类定义了toPath
方法,通过转换由java.io.File
对象表示的抽象路径来构造一个Path
。生成的Path
可用于对与File
对象相同的文件进行操作。 Path
规范提供了有关Path
和java.io.File
对象之间的互操作性的进一步信息。
可见性
此包中的类提供的文件和文件系统视图保证与同一Java虚拟机中的其他实例提供的其他视图一致。然而,该视图可能与其他同时运行的程序所看到的文件系统视图不一致,这是由底层操作系统执行的缓存和网络文件系统协议引起的延迟所致。这是真实的,无论这些其他程序使用的语言是什么,以及它们是在同一台机器上运行还是在其他机器上运行。任何此类不一致性的确切性质取决于系统,因此未指定。
同步I/O文件完整性
在打开文件时使用SYNC
和DSYNC
选项要求将对文件的更新同步写入底层存储设备。对于默认提供者,如果文件驻留在本地存储设备上,并且seekable
通道连接到使用这些选项之一打开的文件,则对write
方法的调用仅在该调用对文件所做的所有更改都已写入设备时才返回。这些选项对于确保在系统崩溃时不会丢失关键信息非常有用。如果文件不驻留在本地设备上,则不提供此类保证。其他provider
实现是否可能提供此保证是特定于提供者的。
常见异常
除非另有说明,向此包中的任何类或接口的构造函数或方法传递null
参数将导致抛出NullPointerException
。此外,调用包含null
元素的数组或集合的方法将导致NullPointerException
,除非另有说明。
除非另有说明,尝试访问文件系统的方法在与已关闭的FileSystem
关联的对象上调用时将抛出ClosedFileSystemException
。此外,任何尝试对只提供只读访问权限的FileSystem
关联的对象进行写访问的方法将在调用时抛出ReadOnlyFileSystemException
。
除非另有说明,使用一个provider
创建的类或接口的方法,参数是由另一个提供者创建的对象,将抛出ProviderMismatchException
。
可选特定异常
此包中定义的大多数方法访问文件系统时指定当发生I/O错误时抛出IOException
。在某些情况下,这些方法为常见情况定义了特定的I/O异常。这些异常,被标记为可选特定异常,在实现可以检测到特定错误时抛出。如果无法检测到特定错误,则抛出更一般的IOException
。
- 自版本:
- 1.7
-
ClassDescription当文件系统操作被拒绝时抛出的已检查异常,通常是由于文件权限或其他访问检查。用于测试文件可访问性的访问模式。当文件无法作为原子文件系统操作移动时抛出的已检查异常。当尝试在关闭的目录流上调用操作时抛出的未检查异常。当尝试在关闭的文件系统上调用操作时抛出的未检查异常。当尝试在关闭的监视服务上调用操作时抛出的未检查异常。配置如何复制或移动文件的对象。在目录中的条目上进行迭代时遇到I/O错误时抛出的运行时异常。当文件系统操作因目录不为空而失败时抛出的已检查异常。用于在目录中的条目上进行迭代的对象。由决定是否接受或过滤目录条目的对象实现的接口。当尝试创建已存在的文件或目录时抛出的已检查异常。仅包含操作文件、目录或其他类型文件的静态方法的类。文件的存储。提供文件系统接口,并是访问文件系统中的文件和其他对象的对象的工厂。当尝试创建已存在的文件系统时抛出的运行时异常。当一个或两个文件上的文件系统操作失败时抛出的异常。当遇到文件系统循环或循环时抛出的已检查异常。当找不到文件系统时抛出的运行时异常。用于文件系统的工厂方法。定义文件树遍历选项。FileVisitor<T>文件的访问者。
FileVisitor
的结果类型。当路径字符串包含无效字符,或者由于其他文件系统特定原因路径字符串无效而无法将路径字符串转换为Path
时抛出的未检查异常。定义如何处理符号链接的选项。用于链接创建操作的Permission
类。当尝试访问不存在的文件时抛出的已检查异常。当意图用于目录的文件系统操作失败,因为文件不是目录时抛出的已检查异常。当文件系统操作因文件不是符号链接而失败时抛出的已检查异常。配置如何打开或创建文件的对象。可用于在文件系统中定位文件的对象。由在路径上执行匹配操作的对象实现的接口。当尝试使用一个文件系统提供者创建的对象调用方法,并且参数是由另一个文件系统提供者创建的参数时抛出的未检查异常。当找不到所需类型的提供者时抛出的运行时异常。当尝试更新与read-only
FileSystem
关联的对象时抛出的未检查异常。定义了相对于打开目录的文件上执行操作的DirectoryStream
。具有默认行为访问所有文件并重新抛出I/O错误的文件的简单访问者。定义了标准的复制选项。定义了标准的打开选项。定义了标准事件类型。一个可以注册到监视服务的对象,以便可以对其进行更改和事件的监视。WatchEvent<T>对已注册到WatchService
的对象的事件或重复事件。事件类型,用于标识目的。一个事件修饰符,用于说明如何将Watchable
注册到WatchService
中。代表将watchable
对象注册到WatchService
的注册。一个监视已注册对象进行更改和事件的监视服务。