Package java.nio.file
java.nio.file包定义了访问文件和文件系统的类。 访问文件和文件系统属性的API在java.nio.file.attribute
包中定义。 java.nio.file.spi
程序包由希望扩展平台默认提供程序或构建其他提供程序实现的服务提供程序实现者使用。
Symbolic Links
许多操作系统和文件系统都支持符号链接 。 符号链接是一个特殊文件,用作对另一个文件的引用。 在大多数情况下,符号链接对应用程序是透明的,符号链接上的操作会自动重定向到链接的目标 。 例外情况是删除或重命名/移动符号链接时,在这种情况下删除或删除链接而不是链接的目标。 此包包括对实现提供这些语义的符号链接的支持。 文件系统可能支持语义上接近的其他类型,但此包中不包含对这些其他类型链接的支持。
Interoperability
File
类通过转换由java.io.File
对象表示的抽象路径来定义构造Path
的toPath
方法。 生成的Path
可用于在与File
对象相同的文件上File
。 所述Path
说明书提供了关于进一步的信息interoperability之间Path
和java.io.File
对象。
能见度
此包中的类提供的文件和文件系统视图保证与同一Java虚拟机中其他实例提供的其他视图一致。 然而,由于底层操作系统执行的高速缓存和网络文件系统协议引起的延迟,视图可能会也可能不会与其他并发运行的程序所看到的文件系统的视图一致。 无论编写这些其他程序的语言是什么,以及它们是在同一台机器上运行还是在其他机器上运行,都是如此。 任何此类不一致的确切性质都取决于系统,因此未指定。
Synchronized I/O File Integrity
打开文件时要使用SYNC
和DSYNC
选项,要求将文件更新同步写入底层存储设备。 对于默认提供程序,并且文件驻留在本地存储设备上,并且seekable
通道连接到使用这些选项之一打开的文件,则只能保证调用write
方法通过该调用对文件所做的更改已写入设备。 这些选项对于确保在系统崩溃时不会丢失关键信息非常有用。 如果文件不驻留在本地设备上,则不会进行此类保证。 是否可以通过其他provider
实现进行此保证是特定于提供程序的。
一般例外情况
除非另有说明,否则将null
参数传递给此包中任何类或接口的构造函数或方法将导致抛出NullPointerException
。 此外,除非另行指定,否则使用包含null
元素的数组或集合调用方法将导致NullPointerException
。
除非另有说明,尝试访问文件系统的方法将引发ClosedFileSystemException
与一个关联的对象调用时FileSystem
已经closed
。 此外,任何尝试对文件系统进行写访问的方法在与仅提供只读访问的FileSystem
关联的对象上调用时将抛出ReadOnlyFileSystemException
。
除非另有说明,否则调用由一个provider
创建的此包中的任何类或接口的方法,其参数是由另一个提供者创建的对象,将抛出ProviderMismatchException
。
可选的特定例外
此程序包中由访问文件系统的类定义的大多数方法指定在发生I / O错误时抛出IOException
。 在某些情况下,这些方法为常见情况定义特定的I / O异常。 这些异常(称为可选的特定异常)由实现抛出,它可以检测特定错误。 如果无法检测到特定错误,则抛出更一般的IOException
。 - 从以下版本开始:
- 1.7
-
接口摘要 接口 描述 CopyOption 配置如何复制或移动文件的对象。DirectoryStream<T> 迭代目录中条目的对象。DirectoryStream.Filter<T> 由对象实现的接口,用于决定是应该接受还是过滤目录条目。FileVisitor<T> 文件的访问者。OpenOption 配置如何打开或创建文件的对象。Path 可用于在文件系统中查找文件的对象。PathMatcher 由在路径上执行匹配操作的对象实现的接口。SecureDirectoryStream<T> DirectoryStream
,用于定义相对于打开目录的文件的操作。Watchable 可以向监视服务注册的对象,以便可以 监视其更改和事件。WatchEvent<T> 使用WatchService
注册的对象的事件或重复事件。WatchEvent.Kind<T> 一种事件类型,用于识别目的。WatchEvent.Modifier 一个事件修饰符,用于限定Watchable
在WatchService
中的注册方式 。WatchKey 表示使用WatchService
注册watchable
对象的标记 。WatchService 手表服务, 手表已注册的对象的变化和事件。 -
类摘要 类 描述 Files 此类仅包含对文件,目录或其他类型文件进行操作的静态方法。FileStore 存储文件。FileSystem 提供文件系统的接口,是用于访问文件系统中的文件和其他对象的对象的工厂。FileSystems 文件系统的工厂方法。LinkPermission 用于链接创建操作的Permission
类。Paths SimpleFileVisitor<T> 具有默认行为的文件的简单访问者,可访问所有文件并重新抛出I / O错误。StandardWatchEventKinds 定义 标准事件种类。 -
枚举摘要 Enum 描述 AccessMode 定义用于测试文件可访问性的访问模式。FileVisitOption 定义文件树遍历选项。FileVisitResult 结果类型为FileVisitor
。LinkOption 定义如何处理符号链接的选项。StandardCopyOption 定义标准副本选项。StandardOpenOption 定义标准的打开选项。 -
异常摘要 异常 描述 AccessDeniedException 拒绝文件系统操作时抛出的已检查异常,通常是由于文件权限或其他访问检查。AtomicMoveNotSupportedException 当文件无法作为原子文件系统操作移动时,抛出异常抛出的异常。ClosedDirectoryStreamException 尝试在已关闭的目录流上调用操作时抛出未经检查的异常。ClosedFileSystemException 尝试调用文件上的操作并关闭文件系统时,抛出未经检查的异常。ClosedWatchServiceException 尝试在已关闭的监视服务上调用操作时抛出未经检查的异常。DirectoryIteratorException 如果在遍历目录中的条目时遇到I / O错误,则抛出运行时异常。DirectoryNotEmptyException 由于目录不为空而导致文件系统操作失败时抛出的已检查异常。FileAlreadyExistsException 当尝试创建文件或目录并且该名称的文件已存在时,抛出检查的异常。FileSystemAlreadyExistsException 尝试创建已存在的文件系统时抛出运行时异常。FileSystemException 在一个或两个文件上文件系统操作失败时抛出。FileSystemLoopException 遇到文件系统循环或循环时抛出的已检查异常。FileSystemNotFoundException 无法找到文件系统时抛出运行时异常。InvalidPathException 当路径字符串无法转换为Path
时抛出未经检查的异常,因为路径字符串包含无效字符,或者路径字符串因其他特定于文件系统的原因而无效。NoSuchFileException 尝试访问不存在的文件时抛出的已检查异常。NotDirectoryException 当用于目录的文件系统操作因文件不是目录而失败时,抛出检查的异常。NotLinkException 由于文件不是符号链接,文件系统操作失败时抛出检查异常。ProviderMismatchException 当尝试使用由不同文件系统提供程序创建的参数调用由一个文件系统提供程序创建的对象上的方法时,抛出未经检查的异常。ProviderNotFoundException 无法找到所需类型的提供程序时抛出运行时异常。ReadOnlyFileSystemException 尝试更新与read-only
FileSystem
关联的对象时抛出未经检查的异常。