Package java.nio.file
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之间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
则抛出更一般的IOException
。
- 从以下版本开始:
- 1.7
-
接口摘要 接口 描述 CopyOption 配置如何复制或移动文件的对象。DirectoryStream<T> 一个对象来迭代目录中的条目。DirectoryStream.Filter<T> 由对象执行的接口,用于确定是否应接受或过滤目录条目。FileVisitor<T> 文件访问者OpenOption 配置如何打开或创建文件的对象。Path 可用于在文件系统中定位文件的对象。PathMatcher 由对路径执行匹配操作的对象实现的接口。SecureDirectoryStream<T> ADirectoryStream
,它定义相对于打开的目录定位的文件的操作。Watchable 可以注册到手表服务的对象,以便可以 观看更改和事件。WatchEvent<T> 对WatchService
注册的对象的事件或重复事件。WatchEvent.Kind<T> 一种事件类型,用于识别。WatchEvent.Modifier 一个事件修饰符,符合Watchable
如何注册WatchService
。WatchKey 表示watchable
对象与WatchService
的注册的令牌。WatchService 手表服务, 手表已注册的对象的变化和事件。 -
类摘要 Class 描述 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 新新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新200新FileSystemException 在一个或两个文件上的文件系统操作失败时抛出。FileSystemLoopException 当遇到文件系统循环或循环时抛出的检查异常。FileSystemNotFoundException 无法找到文件系统时抛出的运行时异常。InvalidPathException 当路径字符串不能转换为Path
时,由于路径字符串包含无效字符或路径字符串对于其他文件系统特定的原因无效,因此抛出未检查的异常。NoSuchFileException 当尝试访问不存在的文件时抛出检查的异常。NotDirectoryException 当文件系统操作用于目录时,由于文件不是目录而导致失败的检查异常。NotLinkException 由于文件不是符号链接,文件系统操作失败时抛出的检查异常。ProviderMismatchException 当尝试使用由不同文件系统提供程序创建的参数在一个文件系统提供程序创建的对象上调用方法时抛出未检查的异常。ProviderNotFoundException 无法找到所需类型的提供者时抛出的运行时异常。ReadOnlyFileSystemException 尝试更新与read-only
FileSystem
相关联的对象时抛出未检查的异常。