public final class Files extends Object
在大多数情况下,这里定义的方法将委托给关联的文件系统提供程序来执行文件操作。
Modifier and Type | Method and Description |
---|---|
static long |
copy(InputStream in, Path target, CopyOption... options)
将所有字节从输入流复制到文件。
|
static long |
copy(Path source, OutputStream out)
将从文件到输出流的所有字节复制到输出流中。
|
static Path |
copy(Path source, Path target, CopyOption... options)
将一个文件复制到目标文件。
|
static Path |
createDirectories(Path dir, FileAttribute<?>... attrs)
创建一个目录,通过创建所有不存在的父目录。
|
static Path |
createDirectory(Path dir, FileAttribute<?>... attrs)
创建一个新目录。
|
static Path |
createFile(Path path, FileAttribute<?>... attrs)
创建一个新的和空的文件,如果文件已经存在,失败了。
|
static Path |
createLink(Path link, Path existing)
创建一个新的链接(目录项)为现有的文件(可选操作)。
|
static Path |
createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs)
创建一个符号链接到一个目标(可选操作)。
|
static Path |
createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs)
在指定的目录中创建一个新的目录,使用给定的前缀来生成它的名称。
|
static Path |
createTempDirectory(String prefix, FileAttribute<?>... attrs)
在默认的临时文件目录中创建一个新目录,使用给定的前缀生成它的名称。
|
static Path |
createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs)
在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串来生成它的名称。
|
static Path |
createTempFile(String prefix, String suffix, FileAttribute<?>... attrs)
在默认的临时文件目录中创建一个空文件,使用给定的前缀和后缀来生成它的名称。
|
static void |
delete(Path path)
删除一个文件。
|
static boolean |
deleteIfExists(Path path)
如果它存在的话,删除一个文件。
|
static boolean |
exists(Path path, LinkOption... options)
测试一个文件是否存在。
|
static Stream<Path> |
find(Path start, int maxDepth, BiPredicate<Path,BasicFileAttributes> matcher, FileVisitOption... options)
返回一个
Stream ,懒洋洋地填充
Path 寻找一根在一个给定的启动文件树文件。
|
static Object |
getAttribute(Path path, String attribute, LinkOption... options)
读取文件属性的值。
|
static <V extends FileAttributeView> |
getFileAttributeView(Path path, 类<V> type, LinkOption... options)
返回一个给定类型的文件属性视图。
|
static FileStore |
getFileStore(Path path)
返回
FileStore 代表文件存储在一个文件的位置。
|
static FileTime |
getLastModifiedTime(Path path, LinkOption... options)
返回一个文件的最后修改时间。
|
static UserPrincipal |
getOwner(Path path, LinkOption... options)
返回文件的所有者。
|
static Set<PosixFilePermission> |
getPosixFilePermissions(Path path, LinkOption... options)
返回一个文件的POSIX文件权限。
|
static boolean |
isDirectory(Path path, LinkOption... options)
测试一个文件是否是一个目录。
|
static boolean |
isExecutable(Path path)
测试一个文件是否可执行。
|
static boolean |
isHidden(Path path)
告诉是否一个文件被认为是隐藏的。
|
static boolean |
isReadable(Path path)
测试一个文件是否可读。
|
static boolean |
isRegularFile(Path path, LinkOption... options)
测试一个文件是否是一个不透明的内容的常规文件。
|
static boolean |
isSameFile(Path path, Path path2)
测试如果两个路径定位相同的文件。
|
static boolean |
isSymbolicLink(Path path)
测试一个文件是否是一个符号链接。
|
static boolean |
isWritable(Path path)
测试文件是否可写。
|
static Stream<String> |
lines(Path path)
阅读所有的线从一个文件作为一个
Stream 。
|
static Stream<String> |
lines(Path path, Charset cs)
阅读所有的线从一个文件作为一个
Stream 。
|
static Stream<Path> |
list(Path dir)
返回一个懒洋洋的密集
Stream ,其中的元素是目录中的条目。
|
static Path |
move(Path source, Path target, CopyOption... options)
移动或重命名一个文件到目标文件。
|
static BufferedReader |
newBufferedReader(Path path)
打开一个文件进行读取,返回一个
BufferedReader 以有效方式从文件中读取文本。
|
static BufferedReader |
newBufferedReader(Path path, Charset cs)
打开一个文件进行读取,返回一个
BufferedReader 可以用来有效方式从文件中读取文本。
|
static BufferedWriter |
newBufferedWriter(Path path, Charset cs, OpenOption... options)
打开或创建一个文件写入,返回一个
BufferedWriter ,可以有效的方式将文件写入文本。
|
static BufferedWriter |
newBufferedWriter(Path path, OpenOption... options)
打开或创建一个文件写入,返回一个
BufferedWriter 能够以有效的方式的文件写入文本。
|
static SeekableByteChannel |
newByteChannel(Path path, OpenOption... options)
打开或创建一个文件,返回一个可寻址的字节通道存取文件。
|
static SeekableByteChannel |
newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
打开或创建一个文件,返回一个可寻址的字节通道存取文件。
|
static DirectoryStream<Path> |
newDirectoryStream(Path dir)
打开目录,返回一个
DirectoryStream 遍历目录中的所有条目。
|
static DirectoryStream<Path> |
newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter)
打开目录,返回一个
DirectoryStream 遍历目录中的条目。
|
static DirectoryStream<Path> |
newDirectoryStream(Path dir, String glob)
打开目录,返回一个
DirectoryStream 遍历目录中的条目。
|
static InputStream |
newInputStream(Path path, OpenOption... options)
打开一个文件,返回一个输入流从文件中读取。
|
static OutputStream |
newOutputStream(Path path, OpenOption... options)
打开或创建一个文件,返回一个可用于将字节写入文件的输出流。
|
static boolean |
notExists(Path path, LinkOption... options)
测试位于此路径的文件是否不存在。
|
static String |
probeContentType(Path path)
探测文件的内容类型。
|
static byte[] |
readAllBytes(Path path)
读取文件中的所有字节。
|
static List<String> |
readAllLines(Path path)
从文件中读取所有行。
|
static List<String> |
readAllLines(Path path, Charset cs)
从文件中读取所有行。
|
static <A extends BasicFileAttributes> |
readAttributes(Path path, 类<A> type, LinkOption... options)
读取一个文件的属性作为一个批量操作。
|
static Map<String,Object> |
readAttributes(Path path, String attributes, LinkOption... options)
读取一组文件属性作为批量操作。
|
static Path |
readSymbolicLink(Path link)
读一个符号链接的目标(可选操作)。
|
static Path |
setAttribute(Path path, String attribute, Object value, LinkOption... options)
设置文件属性的值。
|
static Path |
setLastModifiedTime(Path path, FileTime time)
更新一个文件的最后一次修改的时间属性。
|
static Path |
setOwner(Path path, UserPrincipal owner)
更新文件所有者。
|
static Path |
setPosixFilePermissions(Path path, Set<PosixFilePermission> perms)
设置文件的POSIX权限。
|
static long |
size(Path path)
返回一个文件的大小(以字节为单位)。
|
static Stream<Path> |
walk(Path start, FileVisitOption... options)
返回一个
Stream ,懒洋洋地填充
Path 走文件树在一个给定的启动文件。
|
static Stream<Path> |
walk(Path start, int maxDepth, FileVisitOption... options)
返回一个
Stream ,懒洋洋地填充
Path 走文件树在一个给定的启动文件。
|
static Path |
walkFileTree(Path start, FileVisitor<? super Path> visitor)
走一个文件树。
|
static Path |
walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor)
走一个文件树。
|
static Path |
write(Path path, byte[] bytes, OpenOption... options)
将字节写入到文件中。
|
static Path |
write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)
写入文本到文件的行。
|
static Path |
write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options)
写入文本到文件的行。
|
public static InputStream newInputStream(Path path, OpenOption... options) throws IOException
mark
或
reset
方法。该流将是安全的多个并发线程访问。阅读开始在文件的开头。所返回的流异步闭合和/或可中断高度文件系统提供程序特定的,因此没有指定。
的options
参数决定如何打开该文件。如果没有选择就相当于与READ
选项打开文件。除了对READ
选项,实现可能还支持其他的具体实施方案。
path
-文件路径打开
options
选项指定如何打开文件
IllegalArgumentException
如果选项指定无效的组合
UnsupportedOperationException
-如果不支持指定的选项
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
这种方法打开或创建完全相同的方式,通过与异常,READ
选项可能不在选项数组的newByteChannel
方法指定的文件。如果没有选择,那么这种方法的工作原理是如果CREATE
,TRUNCATE_EXISTING
,和WRITE
选项出现。换句话说,它打开写文件,如果文件不存在,创建文件,或者最初截断现有regular-file
到大小0
如果它存在。
使用的例子:
路径路径=…/ /截断和覆盖现有文件或创建文件如果它最初并不是存在的=文件输出流。newoutputstream(路径);如果该文件不存在,将追加到现有的文件中=文件。newoutputstream(路径,添加);/附加到现有的文件,创建文件,如果它不最初存在=文件。newoutputstream(路径、创建、添加);总是创建新的文件,如果它已经存在的话=文件。newoutputstream(路径,create_new);
path
-文件路径打开或创建
options
选项指定如何打开文件
IllegalArgumentException
-如果
options
包含选项无效组合
UnsupportedOperationException
-如果不支持指定的选项
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。的
checkDelete
方法被调用来检查文件是否是打开的
DELETE_ON_CLOSE
选项删除访问。
public static SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
的options
参数决定如何打开该文件。的READ
和WRITE
选项确定该文件是否应该打开阅读或写作。如果没有选择(或APPEND
选项)是当时文件打开阅读。默认读或写开始在文件的开始。
此外READ
和WRITE
,下列选项中可能存在:
Option | 描述 |
---|---|
APPEND |
If this option is present then the file is opened for writing and each invocation of the channel's write method first advances the position to the end of the file and then writes the requested data. Whether the advancement of the position and the writing of the data are done in a single atomic operation is system-dependent and therefore unspecified. This option may not be used in conjunction with the READ or TRUNCATE_EXISTING options. |
TRUNCATE_EXISTING |
If this option is present then the existing file is truncated to a size of 0 bytes. This option is ignored when the file is opened only for reading. |
CREATE_NEW |
If this option is present then a new file is created, failing if the file already exists or is a symbolic link. When creating a file the check for the existence of the file and the creation of the file if it does not exist is atomic with respect to other file system operations. This option is ignored when the file is opened only for reading. |
CREATE |
If this option is present then an existing file is opened if it exists, otherwise a new file is created. This option is ignored if the CREATE_NEW option is also present or the file is opened only for reading. |
DELETE_ON_CLOSE |
When this option is present then the implementation makes a best effort attempt to delete the file when closed by the close method. If the close method is not invoked then a best effort attempt is made to delete the file when the Java virtual machine terminates. |
SPARSE |
When creating a new file this option is a hint that the new file will be sparse. This option is ignored when not creating a new file. |
SYNC |
Requires that every update to the file's content or metadata be written synchronously to the underlying storage device. (see Synchronized I/O file integrity). |
DSYNC |
Requires that every update to the file's content be written synchronously to the underlying storage device. (see Synchronized I/O file integrity). |
一个实现也可以支持额外的实现特定的选项。
的attrs
参数是可选的file-attributes
设置时自动创建一个新文件。
在默认的提供程序的情况下,返回的可寻址字节通道是一个FileChannel
。
使用的例子:
路径路径=…阅读/打开文件是想了可读字节通道红=文件。newbytechannel(路径,EnumSet,(读)));打开一个用于写入到现有文件的结尾的文件,创建如果它不存在的话writablebytechannel WBC =文件。newbytechannel(路径,EnumSet,(创建、添加));创建具有初始权限的文件,打开它,用于读和写 FileAttribute<Set<PosixFilePermission>> perms = ...
seekablebytechannel SBC =文件。newbytechannel(路径,EnumSet,(create_new,读,写),烫发);
path
-文件路径打开或创建
options
选项指定如何打开文件
attrs
-文件的可选列表属性设置自动创建文件时
IllegalArgumentException
如果集包含一个无效的组合选择
UnsupportedOperationException
-如果不支持打开选项指定或数组包含不能设置自动创建文件时的属性
FileAlreadyExistsException
-如果这个名字已经存在,
CREATE_NEW
选项指定的文件(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查文件是否被打开阅读读访问路径。的
checkWrite
方法被调用来检查写访问路径,如果文件打开写作。的
checkDelete
方法被调用来检查文件是否是打开的
DELETE_ON_CLOSE
选项删除访问。
FileChannel.open(Path,Set,FileAttribute[])
public static SeekableByteChannel newByteChannel(Path path, OpenOption... options) throws IOException
这种方法打开或创建完全相同的方式,通过newByteChannel
方法指定的文件。
path
-文件路径打开或创建
options
选项指定如何打开文件
IllegalArgumentException
如果集包含一个无效的组合选择
UnsupportedOperationException
-如果不支持打开指定的选项
FileAlreadyExistsException
-如果这个名字已经存在,
CREATE_NEW
选项指定的文件(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查文件是否被打开阅读读访问路径。的
checkWrite
方法被调用来检查写访问路径,如果文件打开写作。的
checkDelete
方法被调用来检查文件是否是打开的
DELETE_ON_CLOSE
选项删除访问。
FileChannel.open(Path,OpenOption[])
public static DirectoryStream<Path> newDirectoryStream(Path dir) throws IOException
DirectoryStream
遍历目录中的所有条目。返回的元素由目录流的
iterator
是
Path
型,每一个代表在目录项。如果
resolving
得到的目录条目与
dir
名称是
Path
对象。
当不使用尝试资源构建,然后目录流的close
迭代后调用的方法应该是以免费举办开放目录的任何资源完成。
当实施支持业务的条目的目录中执行一场免费的方式然后返回目录流是一个SecureDirectoryStream
。
dir
-路径的目录
DirectoryStream
对象
NotDirectoryException
-如果文件不能打开,因为它不是一个目录(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用,检查访问的目录读取。
public static DirectoryStream<Path> newDirectoryStream(Path dir, String glob) throws IOException
DirectoryStream
遍历目录中的条目。返回的元素由目录流的
iterator
是
Path
型,每一个代表在目录项。如果
resolving
得到的目录条目与
dir
名称是
Path
对象。这项由迭代器返回的匹配的文件名通配符模式在给定的
String
表示过滤。
例如,假设我们要遍历“结束文件java目录中。”:
路径目录=…尝试(directorystream <路径> 流=文件。newdirectorystream(dir”*。java”)){:} 路径>
的通配符模式是由getPathMatcher
方法指定。
当不使用尝试资源构建,然后目录流的close
迭代后调用的方法应该是以免费举办开放目录的任何资源完成。
当实施支持业务的条目的目录中执行一场免费的方式然后返回目录流是一个SecureDirectoryStream
。
dir
-路径的目录
glob
的glob模式
DirectoryStream
对象
PatternSyntaxException
-如果模式是无效的
NotDirectoryException
-如果文件不能打开,因为它不是一个目录(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用,检查访问的目录读取。
public static DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException
DirectoryStream
遍历目录中的条目。返回的元素由目录流的
iterator
是
Path
型,每一个代表在目录项。如果
resolving
得到的目录条目与
dir
名称是
Path
对象。这项由迭代器返回由给定的
filter
过滤。
当不使用尝试资源构建,然后目录流的close
迭代后调用的方法应该是以免费举办开放目录的任何资源完成。
在过滤终止由于一个未被发现的错误或运行时异常然后传播到hasNext
或next
方法。在IOException
抛出,导致hasNext
或next
方法抛出一个DirectoryIteratorException
与IOException
的原因。
当实施支持业务的条目的目录中执行一场免费的方式然后返回目录流是一个SecureDirectoryStream
。
使用示例:假设我们想遍历一个目录中的文件大于8K。
directorystream <路径> 过滤器。过滤器=新directorystream。 <路径> (){过滤返回(路径文件)抛出IOException {返回(文件大小(文件)> 8192l);}};路径目录=…尝试(directorystream <路径> 流=文件。newdirectorystream(DIR、滤波器)){:} 路径> 路径> 路径>
dir
-路径的目录
filter
-目录流过滤器
DirectoryStream
对象
NotDirectoryException
-如果文件不能打开,因为它不是一个目录(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用,检查访问的目录读取。
public static Path createFile(Path path, FileAttribute<?>... attrs) throws IOException
的attrs
参数是可选的file-attributes
设置自动创建文件时。每个属性都是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。
path
-文件的路径的创建
attrs
-文件的可选列表属性设置自动创建文件时
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建文件时
FileAlreadyExistsException
-如果该名称的文件已经存在(可选特定异常)
IOException
-如果发生I/O错误或父目录不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查写入新文件。
public static Path createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
createDirectories
方法应该用在需要创建所有父目录不存在第一。
的attrs
参数是可选的file-attributes
设置自动创建目录的时候。每个属性都是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。
dir
-目录的创建
attrs
-文件的可选列表属性设置时自动创建目录
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
FileAlreadyExistsException
-如果一个目录不能创建因为名称的文件已经存在(可选特定异常)
IOException
-如果发生I/O错误或父目录不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查写访问新的目录。
public static Path createDirectories(Path dir, FileAttribute<?>... attrs) throws IOException
createDirectory
方法,例外是如果不能创建目录已存在,扔。
的attrs
参数是可选的file-attributes
设置自动创建不存在的目录时。每个文件的属性是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。
如果这个方法失败,那么在创建一些,但不是所有的父目录之后,它可能会这样做。
dir
-目录的创建
attrs
-文件的可选列表属性设置时自动创建目录
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
FileAlreadyExistsException
-如果
dir
存在但不是目录(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用之前,尝试创建一个目录及其
checkRead
是每个父目录调用,检查。如果
dir
不是一个绝对路径然后
toAbsolutePath
可能需要被调用来获得它的绝对路径。这可能会调用安全管理器的
checkPropertyAccess
方法检查系统的访问性能
user.dir
public static Path createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs) throws IOException
Path
与
FileSystem
作为给定目录相同的关联。
有关该文件的名称如何构建的详细信息是依赖于实现的,因此没有指定。在可能的情况下prefix
和suffix
用于构建候选人的名字以同样的方式为File.createTempFile(String,String,File)
方法。
与File.createTempFile
方法,这种方法是唯一的临时文件的设施。在作为工作文件,生成的文件可以打开使用DELETE_ON_CLOSE
选项,文件被删除时,相应的close
方法被调用。另外,一个shutdown-hook
,或File.deleteOnExit()
机制可以被用来自动删除文件。
的attrs
参数是可选的file-attributes
设置自动创建文件时。每个属性都是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。当没有文件属性被指定,那么由此产生的文件可能有更严格的访问权限由File.createTempFile(String,String,File)
方法创建的文件。
dir
-路径的目录中创建文件
prefix
-前缀字符串用于生成文件的名称;可
null
suffix
-后缀字符串用于生成文件的名称;可
null
,在这种情况下,“
.tmp
”用
attrs
-文件的可选列表属性设置自动创建文件时
IllegalArgumentException
如果前缀或后缀参数不能用于生成候选文件名
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
IOException
-如果一个I / O
dir
发生错误或不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static Path createTempFile(String prefix, String suffix, FileAttribute<?>... attrs) throws IOException
Path
和默认
FileSystem
这种方法完全地,dir
参数是临时文件目录下createTempFile(Path,String,String,FileAttribute[])
方法指定的工作。
prefix
-前缀字符串用于生成文件的名称;可
null
suffix
-后缀字符串用于生成文件的名称;可
null
,在这种情况下,“
.tmp
”用
attrs
-文件的可选列表属性设置自动创建文件时
IllegalArgumentException
如果前缀或后缀参数不能用于生成候选文件名
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
IOException
-如果发生I/O错误或临时文件目录不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static Path createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs) throws IOException
Path
与
FileSystem
作为给定目录相同的关联。
有关目录的名称如何构建的详细信息是依赖于实现的,因此没有指定。如果有可能,prefix
用于构建候选人的名字。
与createTempFile
方法,这种方法是唯一的临时文件的设施。一个shutdown-hook
,或File.deleteOnExit()
机制可以用来删除目录自动。
的attrs
参数是可选的file-attributes
设置自动创建目录的时候。每个属性都是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。
dir
-路径的目录中创建目录
prefix
-前缀的字符串被用来生成目录的名称;可
null
attrs
-文件的可选列表属性设置时自动创建目录
IllegalArgumentException
-如果前缀不能用于生成候选目录名称
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
IOException
-如果一个I / O
dir
发生错误或不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查写访问创建目录时。
public static Path createTempDirectory(String prefix, FileAttribute<?>... attrs) throws IOException
Path
和默认
FileSystem
相关。
这种方法完全地createTempDirectory(Path,String,FileAttribute[])
方法的情况下,dir
参数是临时文件目录规定的作品。
prefix
-前缀的字符串被用来生成目录的名称;可
null
attrs
-文件的可选列表属性设置时自动创建目录
IllegalArgumentException
-如果前缀不能用于生成候选目录名称
UnsupportedOperationException
-如果数组包含一个属性不能设置自动创建目录的时候
IOException
-如果发生I/O错误或临时文件目录不存在
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查写访问创建目录时。
public static Path createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
的target
参数是该链接的目标。它可能是一个absolute
或相对路径不存在。当目标是一个相对路径时,那么文件系统操作就得到的链接是相对于链路的路径的。
的attrs
参数是可选的attributes
设置自动创建链接时。每个属性都是由其name
鉴定。如果数组中包含多个同名的属性,则所有的最后一个事件都将被忽略。
在符号链接的支持,但潜在的FileStore
不支持符号链接,那么这可能会失败,一个IOException
。另外,有些操作系统可能需要java虚拟机开始实施特定的权限来创建符号链接,在这种情况下,该方法可以把IOException
。
link
-符号链接路径创造
target
-符号链接目标
attrs
-属性的数组设置自动创建符号链接时
UnsupportedOperationException
如果实现不支持符号链接或数组包含一个属性不能设置自动创建符号链接时
FileAlreadyExistsException
-如果一个名称的文件已经存在(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,它否认
LinkPermission
("symbolic")或其
checkWrite
方法拒绝写访问的符号链接的路径。
public static Path createLink(Path link, Path existing) throws IOException
的link
参数所处的目录条目创建。的existing
参数是现有文件的路径。此方法创建的文件,可以使用link
作为路径访问一个新的目录项。在一些文件系统,这被称为创建一个“硬链接”。是否保存为文件或每个目录项的文件属性是文件系统特定的,因此没有指定。通常情况下,一个文件系统需要一个文件的所有链接(目录条目)都在同一个文件系统中。此外,在一些平台上,java虚拟机可能需要开始实施特定的权限来创建硬链接或创建链接目录。
link
-链接(目录项)创建
existing
-一个现有文件的路径
UnsupportedOperationException
-如果实现不支持添加现有文件到一个目录
FileAlreadyExistsException
-如果入口不能创建因为名称的文件已经存在(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,它否认
LinkPermission
("hard")或其
checkWrite
方法拒绝写访问的链接或现有的文件。
public static void delete(Path path) throws IOException
一个实现可能需要检查该文件,以确定该文件是否是一个目录。因此,这种方法可能不是原子相对于其他文件系统操作。如果该文件是一个符号链接,那么符号链接本身,而不是链接的最终目标,被删除。
如果该文件是一个目录,那么目录必须是空的。在某些实现中,目录在创建目录时已创建的特殊文件或链接的条目。在这样的实现中,只有当特殊条目存在时,目录被认为是空的。这种方法可用于与walkFileTree
方法删除目录中的目录和所有的条目,或整个文件树哪里需要。
在某些操作系统上可能无法删除一个文件时,它是开放的,在使用这个java虚拟机或其他程序。
path
-文件路径删除
NoSuchFileException
-如果文件不存在(可选特定异常)
DirectoryNotEmptyException
-如果文件是一个目录,否则不能被删除,因为目录不是空的(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
SecurityManager.checkDelete(String)
方法被调用来检查删除文件
public static boolean deleteIfExists(Path path) throws IOException
与delete(Path)
方法的实现可能需要检查文件,确定文件是一个目录。因此,这种方法可能不是原子相对于其他文件系统操作。如果该文件是一个符号链接,那么符号链接本身并不是链接的最终目标,将被删除。
如果该文件是一个目录,那么目录必须是空的。在某些实现中,目录在创建目录时已创建的特殊文件或链接的条目。在这样的实现中,只有当特殊条目存在时,目录被认为是空的。
在某些操作系统上可能无法删除一个文件时,它是开放的,在使用这个java虚拟机或其他程序。
path
-文件路径删除
true
如果文件进行删除;
false
如果文件不能被删除,因为它不存在
DirectoryNotEmptyException
-如果文件是一个目录,否则不能被删除,因为目录不是空的(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
SecurityManager.checkDelete(String)
方法被调用来检查删除文件。
public static Path copy(Path source, Path target, CopyOption... options) throws IOException
该方法将一个文件复制到指定的复制是如何进行的options
参数目标文件。默认情况下,复制失败,如果目标文件已经存在,或是一个符号链接,但如果源和目标是same
文件,在这种情况下,该方法完成没有复制文件。不需要将文件属性复制到目标文件中。如果支持符号链接,该文件是一个符号链接,则复制链接的最终目标。如果该文件是一个目录,那么它将在目标位置创建一个空目录(目录中的条目不被复制)。该方法可用于与walkFileTree
方法复制目录中的目录和所有的条目,或整个文件树哪里需要。
的options
参数可能包括下列:
Option | 描述 |
---|---|
REPLACE_EXISTING |
If the target file exists, then the target file is replaced if it is not a non-empty directory. If the target file exists and is a symbolic link, then the symbolic link itself, not the target of the link, is replaced. |
COPY_ATTRIBUTES |
Attempts to copy the file attributes associated with this file to the target file. The exact file attributes that are copied is platform and file system dependent and therefore unspecified. Minimally, the last-modified-time is copied to the target file if supported by both the source and target file stores. Copying of file timestamps may result in precision loss. |
NOFOLLOW_LINKS |
Symbolic links are not followed. If the file is a symbolic link, then the symbolic link itself, not the target of the link, is copied. It is implementation specific if file attributes can be copied to the new link. In other words, the COPY_ATTRIBUTES option may be ignored when copying a symbolic link. |
此接口的实现可能会支持额外的实现特定选项。
复制文件不是一个原子操作。如果一个IOException
抛出,那么它可能是目标文件是不完整的或部分的文件属性尚未从源文件复制。当REPLACE_EXISTING
选项指定目标文件存在,那么目标文件被替换。检查文件的存在和创建新文件的检查可能不与其他文件系统活动有关。
使用示例:假设我们想复制一个文件到一个目录中,给予相同的文件名与源文件:
路径源=…路径newdir =…文件复制(来源,newdir。解决(来源。getfilename());
source
-路径的文件复制
target
-路径的目标文件(可与不同供应商的源路径有关)
options
选项指定如何复制应该做的
UnsupportedOperationException
-如果数组包含一个复制选项不支持
FileAlreadyExistsException
-如果目标文件存在,但不能因为没有指定
REPLACE_EXISTING
选项替换(可选特定异常)
DirectoryNotEmptyException
-
REPLACE_EXISTING
选项指定但文件不能是因为它是一个非空的目录替换(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查访问源文件的读取,这
checkWrite
调用检查写入目标文件。如果一个符号链接复制安全管理是用来检查
LinkPermission
("symbolic")
。
public static Path move(Path source, Path target, CopyOption... options) throws IOException
默认情况下,移动文件到目标文件这一方法的尝试,失败,如果目标文件存在但如果源和目标是same
文件,在这种情况下,这个方法没有效果。如果该文件是一个符号链接,那么符号链接本身,而不是链接的目标,是移动的。此方法可以调用移动一个空目录。在某些实现中,目录在创建目录时已创建的特殊文件或链接的条目。在这样的实现中,只有当特殊条目存在时,目录被认为是空的。当调用移动一个不是空的目录时,如果它不需要移动目录中的条目,则移动目录是移动的。例如,重命名目录在同一FileStore
通常不需要在目录移动条目。当移动一个目录要求其条目被感动那么这个方法失败(抛出一个IOException
)。移动文件树可能涉及复制而不是移动目录,这可以使用copy
方法与Files.walkFileTree
实用方法。
的options
参数可能包括下列:
Option | 描述 |
---|---|
REPLACE_EXISTING |
If the target file exists, then the target file is replaced if it is not a non-empty directory. If the target file exists and is a symbolic link, then the symbolic link itself, not the target of the link, is replaced. |
ATOMIC_MOVE |
The move is performed as an atomic file system operation and all other options are ignored. If the target file exists then it is implementation specific if the existing file is replaced or this method fails by throwing an IOException . If the move cannot be performed as an atomic file system operation then AtomicMoveNotSupportedException is thrown. This can arise, for example, when the target location is on a different FileStore and would require that the file be copied, or target location is associated with a different provider to this object. |
此接口的实现可能会支持额外的实现特定选项。
移动文件将复制到目标文件last-modified-time
如果源和目标文件存储支持。文件的时间戳,复制可能会导致精度损失。一个实现也可以尝试复制其他文件属性,但如果文件属性不能被复制,则不需要失败。当招是非原子操作,和一个IOException
抛出,然后文件的状态未定义。原始文件和目标文件可能都存在,目标文件可能是不完整的,或者它的一些文件属性可能没有从原始文件复制。
使用的例子:假设我们要重命名一个文件“新名称”,保持文件在同一目录:
路径源=…文件。移动(源,源。resolvesibling(“新名称”));或者,假设我们要将一个文件移动到新的目录,保持相同的文件名,目录中的同名文件替换任何现有:
路径源=…路径newdir =…文件。移动(来源,newdir。解决(来源。getfilename()),replace_existing);
source
-文件的路径移动
target
-路径的目标文件(可与不同供应商的源路径有关)
options
选项指定如何移动应该做的
UnsupportedOperationException
-如果数组包含一个复制选项不支持
FileAlreadyExistsException
-如果目标文件存在,但不能因为没有指定
REPLACE_EXISTING
选项替换(可选特定异常)
DirectoryNotEmptyException
-
REPLACE_EXISTING
选项指定但文件不能是因为它是一个非空的目录替换(可选特定异常)
AtomicMoveNotSupportedException
如果选项数组包含
ATOMIC_MOVE
选项但无法移动文件作为一个原子操作文件系统。
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查写访问的源和目标文件。
public static Path readSymbolicLink(Path link) throws IOException
如果文件系统支持symbolic links那么这个方法用于读取该链接的目标,而如果该文件不是一个符号链接。链接的目标不需要存在。返回的Path
对象将具有相同的文件系统link
相关。
link
-路径的符号链接
Path
对象
UnsupportedOperationException
如果实现不支持符号链接
NotLinkException
-如果目标不能被读取,文件不是一个符号链接(可选特定异常)
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,检查,
FilePermission
获“
readlink
”行动,阅读链接。
public static FileStore getFileStore(Path path) throws IOException
FileStore
代表文件存储在一个文件的位置。
一旦获得一个参考的FileStore
是具体实施如果在返回FileStore
操作,或FileStoreAttributeView
对象得到它,继续依赖存在的文件。在特定的情况下,该文件被删除或移动到一个不同的文件存储区中没有定义的行为。
path
-文件的路径
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查读取该文件,并检查
RuntimePermission
("getFileStoreAttributes")
public static boolean isSameFile(Path path, Path path2) throws IOException
如果Path
对象equal
在此方法返回true
没有检查文件是否存在。如果两Path
对象都与不同的供应商,那么这个方法返回false
。否则,此方法检查,如果Path
对象定位相同的文件,并根据实施情况,可能需要打开或访问文件。
如果文件系统和文件保持不变,那么这个方法实现了非零Paths
等价关系。
Path
f
,isSameFile(f,f)
应该返回true
。Paths
f
和g
,isSameFile(f,g)
将等于isSameFile(g,f)
。Paths
f
,g
,和h
,如果isSameFile(f,g)
返回true
和isSameFile(g,h)
返回true
,然后isSameFile(f,h)
将返回true
。path
-一个文件的路径
path2
-其他路径
true
如果,仅仅是如果,两路径定位相同的文件
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查访问文件读取。
BasicFileAttributes.fileKey()
public static boolean isHidden(Path path) throws IOException
hidden
属性设置。
根据实现这种方法可能需要访问文件系统,以确定是否被认为是隐藏的文件。
path
-文件路径测试
true
如果文件是隐藏的
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static String probeContentType(Path path) throws IOException
该方法使用安装FileTypeDetector
实现探针给定文件确定其内容类型。每个文件类型探测器的probeContentType
时,反过来,探讨文件类型。如果确认该文件,则返回内容类型。如果该文件不被任何已安装的文件类型检测器识别,则调用一个系统默认文件类型检测器来猜测内容类型。
一个给定的java虚拟机调用维护文件型探测器系统范围的列表。安装文件类型探测器使用的是服务提供商的装载设备的ServiceLoader
类定义加载。安装的文件类型检测器使用系统类装载器加载。如果系统类装载器不能被发现,那么扩展类装载器被使用;如果扩展类装载器不能被发现,那么引导装载类装载器被使用。文件类型探测器通常被放置在应用程序类路径或在扩展目录的JAR文件安装JAR文件包含在资源目录META-INF/services
命名java.nio.file.spi.FileTypeDetector
供应商配置文件,该文件列出的一个或多个完全合格,有一零个参数的构造函数FileTypeDetector
具体子类名称。如果过程定位或实例化的安装文件类型探测器失败则抛出一个未指定的错误。安装供应商的顺序是实现特定的。
该方法的返回值是一个多用途的值的字符串形式(MIME)内容类型所定义的RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies。字符串是保证根据RFC的语法解析。
path
-文件的路径探讨
null
如果内容类型无法确定
IOException
如果I/O错误发生
SecurityException
如果安全管理器安装,它否认未指定许可的文件类型检测器的实现要求。
public static <V extends FileAttributeView> V getFileAttributeView(Path path, 类<V> type, LinkOption... options)
一个文件的属性视图提供了一套文件属性只读或可更新的视图。此方法的目的是要使用的文件属性视图定义了类型安全的方法来读取或更新文件属性。的type
参数类型的属性观要求和方法返回该类型的实例是否支持。的BasicFileAttributeView
类型支持访问一个文件的基本属性。调用此方法来选择该类型的文件属性视图将始终返回该类的一个实例。
的options
阵列可以用来说明符号链接是由生成的文件属性查看的情况下,该文件是一个符号链接处理。默认情况下,符号链接遵循。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。此选项被不支持符号链接的实现忽略。
使用示例:假设我们想要读取或设置文件的ACL,如果支持:
路径路径=…aclfileattributeview观=文件。getfileattributeview(路径,aclfileattributeview。类);如果(查看!=零)< > ACL列表aclentry getacl() =视图;:}
V
-
FileAttributeView
型
path
-文件的路径
type
-对应的文件属性查看
类
对象
options
选项指示如何处理符号链接
null
如果属性视图类型不可用
public static <A extends BasicFileAttributes> A readAttributes(Path path, 类<A> type, LinkOption... options) throws IOException
的type
参数类型的属性要求,这种方法如果支持返回该类型的一个实例。所有的实现都支持文件属性,调用该方法以BasicFileAttributes.class
一type
参数不会扔UnsupportedOperationException
基本设置。
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
它是实现特定的,如果所有的文件属性被读取作为一个原子操作相对于其他文件系统操作。
使用示例:假设我们想批量读取文件属性:
路径路径=…basicfileattributes属性=文件。readAttributes(路径,basicfileattributes。类);或者,假设我们想不遵循符号链接读取文件的属性:
posixfileattributes属性=文件。readAttributes(道路、PosixFileAttributes.class、nofollow_links);POSIX
A
-
BasicFileAttributes
型
path
-文件的路径
type
-文件的
类
属性要求读
options
选项指示如何处理符号链接
UnsupportedOperationException
-如果不支持一个给定类型的属性
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,安装安全管理器,它的
checkRead
方法被调用来检查对文件的读访问。如果调用此方法读取安全敏感属性,则安全管理器可能会调用以检查是否有额外的权限。
public static Path setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
attribute
参数标识的属性被设置,以形成:
[ view-name :] attribute-name在方括号[…]划定一个可选组件和字符
':'
代表本身。
视图名称是一FileAttributeView
标识设置文件的属性name
。如果没有指定,则默认为"basic"
,文件的属性视图标识文件的基本属性,常见的许多文件系统的名称。属性名称内设置的属性的名称。
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并设置链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
使用示例:假设我们想设置“隐藏”属性的DOS:
路径路径=…文件。setAttribute(路径,“DOS:隐藏的,真的);
path
-文件的路径
attribute
-属性设置
value
-属性值
options
选项指示如何处理符号链接
path
参数
UnsupportedOperationException
-如果属性视图不可用
IllegalArgumentException
-如果没有指定属性名,或不认可,或属性值的正确类型,但有一个不适当的值
ClassCastException
-如果属性值不是预期的类型或是一个集合,不是预期的类型元素
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkWrite
方法拒绝写访问文件。如果调用此方法来设置安全敏感属性,则可以调用安全管理器来检查是否有额外的权限。
public static Object getAttribute(Path path, String attribute, LinkOption... options) throws IOException
的attribute
参数识别属性来读取和表现形式:
[ view-name :] attribute-name在方括号[…]划定一个可选组件和字符
':'
代表本身。
视图名称是一FileAttributeView
标识设置文件的属性name
。如果没有指定,则默认为"basic"
,文件的属性视图标识文件的基本属性,常见的许多文件系统的名称。属性名称是属性的名称。
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
使用示例:假设我们需要在一个支持“unix
”查看系统文件所有者的用户ID:
路径路径=…UID = int(整数)的文件对象(路径,“Unix:“);
path
-文件的路径
attribute
-属性读
options
选项指示如何处理符号链接
UnsupportedOperationException
-如果属性视图不可用
IllegalArgumentException
-如果属性名称不指定或是不被认可的
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。如果调用此方法读取安全敏感属性,则可以调用安全管理器以检查是否有额外的权限。
public static Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException
attributes
参数标识的属性来读取和表现形式:
[ view-name :] attribute-list在方括号[…]划定一个可选组件和字符
':'
代表本身。
视图名称是一FileAttributeView
标识设置文件的属性name
。如果没有指定,则默认为"basic"
,文件的属性视图标识文件的基本属性,常见的许多文件系统的名称。
的属性列表组件是一个用逗号分隔的零个或多个名称的属性为只读。如果列表中包含的价值"*"
然后所有的属性都是读。不支持的属性将被忽略,将不会在返回的Map中存在。它是实现特定的,如果所有的属性都阅读作为一个原子操作相对于其他文件系统操作。
下面的示例演示attributes
参数的可能值:
"*"
Read all basic-file-attributes
."size,lastModifiedTime,lastAccessTime"
Reads the file size, last modified time, and last access time attributes. "posix:*"
Read all POSIX-file-attributes
."posix:permissions,owner,size"
Reads the POSX file permissions, owner, and file size.
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
path
-文件的路径
attributes
-读取属性
options
选项指示如何处理符号链接
UnsupportedOperationException
-如果属性视图不可用
IllegalArgumentException
-如果没有属性指定的或无法识别的属性指定
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。如果调用此方法读取安全敏感属性,则安全管理器可能会调用以检查是否有额外的权限。
public static Set<PosixFilePermission> getPosixFilePermissions(Path path, LinkOption... options) throws IOException
的path
参数与支持PosixFileAttributeView
FileSystem
相关。此属性视图提供了常用的操作系统,实现了可移植的操作系统接口使用的文件系统的文件关联的访问文件的属性(POSIX)系列标准。
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
path
-文件的路径
options
选项指示如何处理符号链接
UnsupportedOperationException
如果关联的文件系统不支持
PosixFileAttributeView
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,安装安全管理器,它否认
RuntimePermission
("accessUserInformation")或其
checkRead
法否认对文件的读访问。
public static Path setPosixFilePermissions(Path path, Set<PosixFilePermission> perms) throws IOException
的path
参数与FileSystem
支持PosixFileAttributeView
相关。此属性视图提供了常用的操作系统,实现了可移植的操作系统接口使用的文件系统的文件关联的访问文件的属性(POSIX)系列标准。
path
-文件的路径
perms
-权限的新组
UnsupportedOperationException
如果关联的文件系统不支持
PosixFileAttributeView
ClassCastException
如果集包含不
PosixFilePermission
型元素
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,它否认
RuntimePermission
("accessUserInformation")或其
checkWrite
方法拒绝写访问文件。
public static UserPrincipal getOwner(Path path, LinkOption... options) throws IOException
的path
参数是一个文件系统,支持FileOwnerAttributeView
相关。此文件属性视图提供了访问该文件的所有者的文件属性。
path
-文件的路径
options
选项指示如何处理符号链接
UnsupportedOperationException
如果关联的文件系统不支持
FileOwnerAttributeView
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,它否认
RuntimePermission
("accessUserInformation")或其
checkRead
法否认对文件的读访问。
public static Path setOwner(Path path, UserPrincipal owner) throws IOException
的path
参数是一个文件系统,支持FileOwnerAttributeView
相关。此文件属性视图提供了访问该文件的所有者的文件属性。
使用示例:假设我们想让“乔”一个文件的所有者:
路径路径=…userprincipallookupservice lookupservice =getuserprincipallookupservice()提供者(路径);乔= lookupservice UserPrincipal lookupprincipalbyname(“乔”);文件。系主(道路、乔);
path
-文件的路径
owner
-新文件的所有者
UnsupportedOperationException
如果关联的文件系统不支持
FileOwnerAttributeView
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,它否认
RuntimePermission
("accessUserInformation")或其
checkWrite
方法拒绝写访问文件。
FileSystem.getUserPrincipalLookupService()
,
UserPrincipalLookupService
public static boolean isSymbolicLink(Path path)
需要区分一个I/O异常的情况下,该文件不是一个符号链接的文件属性可以与readAttributes
方法读文件类型与BasicFileAttributes.isSymbolicLink()
法测试。
path
-文件的路径
true
如果文件是一个符号链接;
false
如果文件不存在,不是一个符号链接,也无法确定如果文件是一个符号链接或不。
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。
public static boolean isDirectory(Path path, LinkOption... options)
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
需要区分一个I/O异常的情况下,该文件不是一个目录的文件属性可以与readAttributes
方法读文件类型与BasicFileAttributes.isDirectory()
法测试。
path
-文件路径测试
options
选项指示如何处理符号链接
true
如果文件是一个目录;
false
如果文件不存在,不是一个目录,否则无法确定如果文件是一个目录或不。
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。
public static boolean isRegularFile(Path path, LinkOption... options)
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
需要区分一个I/O异常的情况下,该文件不是一个普通的文件,那么文件属性可以与readAttributes
方法读文件类型与BasicFileAttributes.isRegularFile()
法测试。
path
-文件的路径
options
选项指示如何处理符号链接
true
如果文件是一个普通文件;
false
如果文件不存在,不是一个普通的文件,也不能确定该文件是否是一个正常的文件或不。
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。
public static FileTime getLastModifiedTime(Path path, LinkOption... options) throws IOException
的options
阵列可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,遵循符号链接,并读取链接的最终目标的文件属性。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
path
-文件的路径
options
选项指示如何处理符号链接
FileTime
表示时间最后修改文件,或实现特定的默认时的时间戳显示上次修改的时间不是由文件系统支持
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。
BasicFileAttributes.lastModifiedTime()
public static Path setLastModifiedTime(Path path, FileTime time) throws IOException
IOException
。
使用示例:假设我们要设置的最后修改时间为当前时间:
路径路径=…FileTime现在= FileTime。frommillis(系统。currenttimemillis());文件。setlastmodifiedtime(路径,现在);
path
-文件的路径
time
-新的上次修改时间
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,安全管理的
checkWrite
方法被调用来检查写访问文件
BasicFileAttributeView.setTimes(java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime)
public static long size(Path path) throws IOException
regular
文件文件大小,因此未指定具体实施。
path
-文件的路径
IOException
如果I/O错误发生
SecurityException
在默认提供程序的情况下,和安全管理器安装,其
checkRead
法否认对文件的读访问。
BasicFileAttributes.size()
public static boolean exists(Path path, LinkOption... options)
的options
参数可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,符号链接遵循。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
请注意,这种方法的结果是立即过时的。如果此方法指示该文件存在,则无法保证后续的访问会成功。使用这种方法时,应注意在安全敏感的应用程序。
path
-文件路径测试
options
选项指示如何处理符号链接。
true
文件是否存在;
false
如果文件不存在或无法确定它的存在。
SecurityException
在默认提供程序的情况下,该
SecurityManager.checkRead(String)
调用检查对文件的读访问。
notExists(java.nio.file.Path, java.nio.file.LinkOption...)
public static boolean notExists(Path path, LinkOption... options)
的options
参数可以用来说明符号链接被处理的情况下,该文件是一个符号链接。默认情况下,符号链接遵循。如果选择NOFOLLOW_LINKS
是符号链接后面没有然后。
注意,这种方法是不exists
方法的补充。当不能确定文件是否存在或不那么方法都返回false
。与exists
方法,这种方法的结果是马上过时的。如果此方法指示文件存在则无法保证后续尝试创建文件会成功。使用这种方法时,应注意在安全敏感的应用程序。
path
-文件路径测试
options
选项指示如何处理符号链接
true
如果文件不存在;
false
文件是否存在或它的存在不能被确定
SecurityException
在默认提供程序的情况下,该
SecurityManager.checkRead(String)
调用检查对文件的读访问。
public static boolean isReadable(Path path)
请注意,这种方法的结果是立即过时的,有没有保证,随后的尝试打开该文件的阅读将成功(甚至,它将访问同一文件)。使用这种方法时,应注意在安全敏感的应用程序。
path
-路径的文件检查
true
如果文件存在并且是可读的;
false
如果文件不存在,会因为读访问java虚拟机没有足够的权限访问被拒绝,或无法确定
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
调用检查对文件的读访问。
public static boolean isWritable(Path path)
请注意,这种方法的结果是立即过时的,没有保证,随后的尝试打开该文件的书面将成功(甚至,它将访问同一文件)。使用这种方法时,应注意在安全敏感的应用程序。
path
-路径的文件检查
true
如果文件存在并且可写;
false
如果文件不存在,写访问将因为java虚拟机没有足够的权限访问被拒绝,或无法确定
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
调用检查文件的写访问。
public static boolean isExecutable(Path path)
execute
文件。当检查访问目录时,语义可能会有所不同。例如,在UNIX系统中,检查执行java虚拟机允许搜索目录中的文件或目录的访问权限检查。
根据实现,这种方法可能需要读取文件的权限,访问控制列表,或其他文件属性,以检查文件的有效访问。因此,这种方法可能不是原子相对于其他文件系统操作。
请注意,这种方法的结果是立即过时的,没有保证,随后的尝试执行该文件将成功(甚至,它将访问同一文件)。使用这种方法时,应注意在安全敏感的应用程序。
path
-路径的文件检查
true
如果文件存在并且是可执行的;
false
如果文件不存在,执行访问会因为java虚拟机没有足够的权限访问被拒绝,或无法确定
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkExec
调用检查执行访问文件。
public static Path walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor) throws IOException
这种方法在一个给定的起始文件上的文件树。文件树是深度优先遍历与给定的FileVisitor
每个文件中调用。文件树的遍历完成时树中所有可访问的文件已被访问,或访问方法返回一个结果,TERMINATE
。在访问方法终止由于IOException
,未捕获的错误,或运行异常,然后遍历终止,错误或异常传播到该方法的调用者。
每个文件中遇到的BasicFileAttributes
读这一方法的尝试。如果该文件不是一个目录,然后visitFile
方法调用与文件属性。如果属性的文件不能被读取,由于I/O异常,然后visitFileFailed
方法与I/O异常调用。
该文件是一个目录,而目录无法打开,然后visitFileFailed
方法调用I/O异常,在这之后,文件树走下去,默认情况下,在目录下一个兄弟。
目录成功打开的地方,然后在目录中的条目,他们的后代被访问。当所有条目都去过,或发生I/O错误目录的迭代过程中,那么目录是封闭的,游客的postVisitDirectory
方法被调用。文件树走然后继续,默认情况下,在下一个目录的兄弟姐妹。
默认情况下,符号链接不会自动跟踪该方法。如果options
参数包含FOLLOW_LINKS
选项然后符号链接如下。在下面的链接,和目标的属性不能被读取,那么这种方法试图得到的链接BasicFileAttributes
。如果他们可以读那么visitFile
方法与链接的属性调用(否则visitFileFailed
方法调用指定以上)。
如果options
参数包含FOLLOW_LINKS
选择此方法跟踪目录访问这样周期可以被检测到。当目录中的一个条目是目录的祖先时,会出现一个循环。循环检测是通过记录目录的file-key
做,或者如果文件密钥不可用,通过调用isSameFile
法测试如果一个目录的文件作为祖先一样。当检测到循环,它被视为一个I/O错误,和visitFileFailed
方法与FileSystemLoopException
实例调用。
的maxDepth
参数访问的最大水平的目录数。一个价值0
意味着只有启动文件访问,除非由安全经理否认。一个价值MAX_VALUE
可用于指示各级要参观。的visitFile
方法是所有文件,包括目录调用,遇到maxDepth
,除非基本属性的文件不能被读取,在这种情况下,visitFileFailed
方法被调用。
如果访问者返回结果null
然后NullPointerException
抛出。
当一个安全管理器被安装,它拒绝访问一个文件(或目录),然后它被忽略,而访问者没有被调用该文件(或目录)。
start
-启动文件
options
-选择配置的遍历
maxDepth
-目录层次的最大数量的访问
visitor
-文件来调用每个文件
IllegalArgumentException
-如果
maxDepth
参数为负
SecurityException
-如果安全经理拒绝访问的启动文件。在默认的提供程序的情况下,该
checkRead
方法被调用,检查访问的目录读取。
IOException
如果I/O错误是由访问者方法引发
public static Path walkFileTree(Path start, FileVisitor<? super Path> visitor) throws IOException
这种方法的工作原理,如果调用它相当于评估表达式:
换句话说,它不遵循符号链接,并访问所有级别的文件树。walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)
start
-启动文件
visitor
-文件来调用每个文件
SecurityException
-如果安全经理拒绝访问的启动文件。在默认的提供程序的情况下,该
checkRead
方法被调用,检查访问的目录读取。
IOException
如果I/O错误是由访问者方法引发
public static BufferedReader newBufferedReader(Path path, Charset cs) throws IOException
BufferedReader
可以用来有效方式从文件中读取文本。从文件的字节解码为字符用指定的字符集。阅读开始在文件的开头。
的Reader
方法从文件中读取如果错误或无法映射的字节序列读取扔IOException
。
path
-文件的路径
cs
-字符集使用解码
IOException
-如果一个I / O错误打开文件
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
readAllLines(java.nio.file.Path, java.nio.charset.Charset)
public static BufferedReader newBufferedReader(Path path) throws IOException
BufferedReader
以有效方式从文件中读取文本。从文件的字节解码为字符使用
UTF-8
charset
。
这种方法的工作原理,如果调用它相当于评估表达式:
Files.newBufferedReader(path, StandardCharsets.UTF_8)
path
-文件的路径
IOException
-如果一个I / O错误打开文件
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static BufferedWriter newBufferedWriter(Path path, Charset cs, OpenOption... options) throws IOException
BufferedWriter
,可以有效的方式将文件写入文本。的
options
参数指定如何创建或打开文件。如果没有选择,那么这种方法的工作原理是如果
CREATE
,
TRUNCATE_EXISTING
,和
WRITE
选项出现。换句话说,它打开写文件,如果文件不存在,创建文件,或者最初截断现有
regular-file
到大小
0
如果它存在。
的Writer
方法写入文字,如果文字不能使用指定的字符集编码把IOException
。
path
-文件的路径
cs
的字符集进行编码使用
options
选项指定如何打开文件
IOException
如果I/O错误发生时打开或创建文件
UnsupportedOperationException
-如果不支持指定的选项
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
write(Path,Iterable,Charset,OpenOption[])
public static BufferedWriter newBufferedWriter(Path path, OpenOption... options) throws IOException
BufferedWriter
能够以有效的方式的文件写入文本。文本编码为字节使用
UTF-8
charset
写作。
这种方法的工作原理,如果调用它相当于评估表达式:
Files.newBufferedWriter(path, StandardCharsets.UTF_8, options)
path
-文件的路径
options
选项指定如何打开文件
IOException
如果I/O错误发生时打开或创建文件
UnsupportedOperationException
-如果不支持指定的选项
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static long copy(InputStream in, Path target, CopyOption... options) throws IOException
默认情况下,如果目标文件已经存在或是一个符号链接,则复制失败。如果REPLACE_EXISTING
选项指定的目标文件已经存在,那么它是不是一个非空的目录替换。如果目标文件存在,并且是一个符号链接,则替换该符号链接。本新闻稿中,该REPLACE_EXISTING
选项需要支持这种方法的唯一选择。在未来的版本中可能会支持额外的选项。
如果一个I / O错误发生在从输入流读取或写入到文件,那么它可能会这样做后,目标文件已创建,并在一些字节已读或写。因此,输入流可能不在流的结尾,并且可能处于不一致的状态。强烈建议输入流被迅速关闭,如果发生I / O错误。
此方法可以阻止无限期地从输入流中读取(或写入到文件中)。行为的情况下,将输入流中的复制异步封闭或线程中断是高度输入流和文件系统,因此没有指定提供程序特定的。
使用示例:假设我们想捕捉一个网页并将其保存到一个文件:
路径路径=…URI U = URI。创造(“HTTP:/ / java。太阳。com”);尝试(=美国tourl()。openstream() InputStream){文件,复制(在,路径);}
in
-输入流读取
target
-文件的路径
options
选项指定如何复制应该做的
IOException
-如果一个I/O读写时发生错误
FileAlreadyExistsException
-如果目标文件存在,但不能因为没有指定
REPLACE_EXISTING
选项替换(可选特定异常)
DirectoryNotEmptyException
-
REPLACE_EXISTING
选项指定但文件不能是因为它是一个非空的目录替换(可选特定异常)*
UnsupportedOperationException
-如果
options
包含复制选项不支持
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。在
REPLACE_EXISTING
指定选项,安全经理的
checkDelete
方法被调用来检查现有文件可以删除。
public static long copy(Path source, OutputStream out) throws IOException
如果一个I / O错误发生在从文件或写入到输出流,那么它可能会这样做后,一些字节已被读或写。因此输出流可能处于不一致的状态。强烈建议,如果发生I / O错误,输出流将被迅速关闭。
这种方法可以将无限期地写入输出流(或从文件中读取)。行为的情况下,输出流是在复制异步封闭或线程中断是高输出流和文件系统,因此没有指定提供程序特定的。
source
-文件的路径
out
-输出流写入
IOException
-如果一个I/O读写时发生错误
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static byte[] readAllBytes(Path path) throws IOException
请注意,这种方法是用于简单的情况下,它是方便的读取所有字节成一个字节数组。它不是用于在大文件中阅读的。
path
-文件的路径
IOException
-如果一个I / O错误读取流
OutOfMemoryError
-如果要求尺寸阵列不能分配,例如文件较大,
2GB
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static List<String> readAllLines(Path path, Charset cs) throws IOException
这种方法识别以下线路终端:
\u000D
随后\u000A
,回车后换行\u000A
,换行\u000D
,回车额外的Unicode线端子可能会在未来的版本被认可。
请注意,此方法是用于简单的情况下,它是方便阅读在一个单一的操作的所有行。它不是用于在大文件中阅读的。
path
-文件的路径
cs
-字符集使用解码
List
;是否
List
修改或不依赖于实现的,因此没有指定
IOException
-如果一个I / O错误读取文件或错误或无法映射的字节顺序读
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
newBufferedReader(java.nio.file.Path, java.nio.charset.Charset)
public static List<String> readAllLines(Path path) throws IOException
UTF-8
charset
这种方法的工作原理,如果调用它相当于评估表达式:
Files.readAllLines(path, StandardCharsets.UTF_8)
。
path
-文件的路径
List
;是否
List
修改或不依赖于实现的,因此没有指定
IOException
-如果一个I / O错误读取文件或错误或无法映射的字节顺序读
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
public static Path write(Path path, byte[] bytes, OpenOption... options) throws IOException
options
参数指定如何创建或打开文件。如果没有选择,那么这种方法的工作原理是如果
CREATE
,
TRUNCATE_EXISTING
,和
WRITE
选项出现。换句话说,它打开写文件,如果文件不存在,创建文件,或者最初截断现有
regular-file
到大小
0
。字节数组中的所有字节都写入到文件中。该方法确保当所有的字节被写入(或一个I / O错误或其他运行时异常被抛出时,该文件关闭)。如果一个I / O错误发生,那么它可能会这样做后,该文件已创建或截断,或后,一些字节已写入文件。
使用示例:默认情况下,该方法创建一个新文件或覆盖现有文件。假设您希望将字节追加到现有文件中:
路径路径=…字节[ ]字节…文件编写(路径,字节,standardopenoption。追加);
path
-文件的路径
bytes
的字节数组的字节写
options
选项指定如何打开文件
IOException
-如果一个I / O错误写入或创建文件
UnsupportedOperationException
-如果不支持指定的选项
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) throws IOException
line.separator
。字符编码为字节,使用指定的字符集。
的options
参数指定如何创建或打开文件。如果没有选择,那么这种方法的工作原理是如果CREATE
,TRUNCATE_EXISTING
,和WRITE
选项出现。换句话说,它打开写文件,如果文件不存在,创建文件,或者最初截断现有regular-file
到大小0
。该方法确保当所有的行被写入(或一个I / O错误或其他运行时异常被抛出时关闭该文件)。如果一个I / O错误发生,那么它可能会这样做后,该文件已创建或截断,或后,一些字节已写入文件。
path
-文件的路径
lines
对象遍历字符序列
cs
的字符集进行编码使用
options
选项指定如何打开文件
IOException
-如果一个I / O错误写入或创建文件,或文本不能使用指定的字符集编码
UnsupportedOperationException
-如果不支持指定的选项
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static Path write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options) throws IOException
UTF-8
charset
。
这种方法的工作原理,如果调用它相当于评估表达式:
Files.write(path, lines, StandardCharsets.UTF_8, options);
path
-文件的路径
lines
对象遍历字符序列
options
选项指定如何打开文件
IOException
-如果一个I / O错误写入或创建文件,或文本不能被编码为
UTF-8
UnsupportedOperationException
-如果不支持指定的选项
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkWrite
方法被调用来检查文件的写访问。
public static Stream<Path> list(Path dir) throws IOException
Stream
,其中的元素是目录中的条目。清单是不递归的。
流的元素Path
对象,得到如resolving
目录的条目与dir
名称。一些文件系统保持与目录本身和目录的父目录的特殊链接。代表这些链接的条目不包括在内。
流弱一致的。它是线程安全但不冻的目录在迭代时,那么它可能(或不可能)反映从这个方法返回后发生的目录更新。
返回的流封装DirectoryStream
。如果文件系统资源的及时处理是必需的,这try
-with-resources构建应该用来确保流的close
方法被调用的流操作完成后。
在一个封闭的流上运行的行为,如果流结束已达到。由于读前面,一个或多个元素可能会返回后,流已被关闭。
如果一个IOException
访问目录时引发此方法后回来了,它被包裹在一个UncheckedIOException
将导致发生的访问方法引发。
dir
-路径的目录
Stream
NotDirectoryException
-如果文件不能打开,因为它不是一个目录(可选特定异常)
IOException
如果I/O错误发生时打开目录
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用,检查访问的目录读取。
newDirectoryStream(Path)
public static Stream<Path> walk(Path start, int maxDepth, FileVisitOption... options) throws IOException
Stream
,懒洋洋地填充
Path
走文件树在一个给定的启动文件。文件树的遍历深度优先,流中的元素
Path
对象,得到如
resolving
对
start
相对路径。
走的stream
文件树作为元素被消耗。返回的Stream
保证至少有一个元素,启动文件本身。每个文件的访问,流试图读取它的BasicFileAttributes
。如果该文件是一个目录,并可以成功地打开,目录中的条目,他们的后代将按照在流中的目录,因为他们遇到。当所有的条目都被访问过,那么目录就被关闭了。文件树走然后继续在目录的下一个兄弟姐妹。
流弱一致的。它不冻结的文件树,迭代,所以它可能(或不可能)反映到文件树后从该方法返回时更新。
默认情况下,符号链接不会自动跟踪该方法。如果options
参数包含FOLLOW_LINKS
选项然后符号链接如下。在下面的链接,和目标的属性不能被读取,那么这种方法试图得到的链接BasicFileAttributes
。
如果options
参数包含FOLLOW_LINKS
选项然后流跟踪目录访问这样周期可以被检测到。当目录中的一个条目是目录的祖先时,会出现一个循环。循环检测是通过记录目录的file-key
做,或者如果文件密钥不可用,通过调用isSameFile
法测试如果一个目录的文件作为祖先一样。当检测到循环,它被视为一个I/O错误与FileSystemLoopException
实例。
的maxDepth
参数访问的最大水平的目录数。一个价值0
意味着只有启动文件访问,除非由安全经理否认。一个价值MAX_VALUE
可用于指示各级要参观。
当一个安全管理器被安装,它拒绝访问一个文件(或目录),然后它被忽略,不包括在流中。
返回的流封装了一个或多个DirectoryStream
s。如果文件系统资源的及时处理是必需的,这try
-with-resources构建应该用来确保流的close
方法被调用的流操作完成后。在一个封闭的流操作会产生一个IllegalStateException
。
如果一个IOException
访问目录时引发此方法后回来了,它被包裹在一个UncheckedIOException
将导致发生的访问方法引发。
start
-启动文件
maxDepth
-目录层次的最大数量的访问
options
-选择配置的遍历
Path
的
Stream
IllegalArgumentException
-如果
maxDepth
参数为负
SecurityException
-如果安全经理拒绝访问的启动文件。在默认的提供程序的情况下,该
checkRead
方法被调用,检查访问的目录读取。
IOException
如果I/O错误时引发的启动文件访问。
public static Stream<Path> walk(Path start, FileVisitOption... options) throws IOException
Stream
,懒洋洋地填充
Path
走文件树在一个给定的启动文件。文件树的遍历深度优先,流中的元素
Path
对象,得到如
resolving
相对路径对
start
。
这种方法的工作原理,如果调用它相当于评估表达式:
换句话说,访问各级文件树。walk(start, Integer.MAX_VALUE, options)
返回的流封装了一个或多个DirectoryStream
s。如果文件系统资源的及时处理是必需的,这try
-with-resources构建应该用来确保流的close
方法被调用的流操作完成后。在一个封闭的流操作会产生一个IllegalStateException
。
start
-启动文件
options
-选择配置的遍历
Path
的
Stream
SecurityException
-如果安全经理拒绝访问的启动文件。在默认的提供程序的情况下,该
checkRead
方法被调用,检查访问的目录读取。
IOException
如果I/O错误时引发的启动文件访问。
walk(Path, int, FileVisitOption...)
public static Stream<Path> find(Path start, int maxDepth, BiPredicate<Path,BasicFileAttributes> matcher, FileVisitOption... options) throws IOException
Stream
,懒洋洋地填充
Path
寻找一根在一个给定的启动文件树文件。
该方法遍历文件树完全相同的方式,通过walk
方法指定。每个文件中,给定的BiPredicate
与其Path
和BasicFileAttributes
调用。的Path
对象得到如resolving
相对路径对start
和只包含在返回的Stream
如果BiPredicate
返回true。比较filter
在Stream
walk
调用的方法返回时,该方法可以避免多余的BasicFileAttributes
检索更有效。
返回的流封装了一个或多个DirectoryStream
s。如果文件系统资源的及时处理是必需的,这try
-with-resources构建应该用来确保流的close
方法被调用的流操作完成后。在一个封闭的流操作会产生一个IllegalStateException
。
如果一个IOException
被访问时,此方法返回目录后,它被包裹在一个UncheckedIOException
将导致发生的访问方法引发。
start
-启动文件
maxDepth
-目录层次的最大数目的搜索
matcher
-用于确定文件是否应该包含在返回的流函数
options
-选择配置的遍历
Path
的
Stream
IllegalArgumentException
-如果
maxDepth
参数为负
SecurityException
-如果安全经理拒绝访问的启动文件。在默认的提供程序的情况下,该
checkRead
方法被调用,检查访问的目录读取。
IOException
如果I/O错误时引发的启动文件访问。
walk(Path, int, FileVisitOption...)
public static Stream<String> lines(Path path, Charset cs) throws IOException
Stream
。不像
readAllLines
,此方法不读所有进线
List
,而是懒洋洋的流消耗填充。
从文件的字节解码为字符使用指定的字符集和相同的行终止符所指定的readAllLines
支持。
此方法返回后,再以后的任何I/O异常发生在读取文件或当一个畸形的或无法映射的字节序列的读取,是包裹在一个UncheckedIOException
将从引起阅读发生的Stream
方法引发。如果一个IOException
被关闭文件时,它也被包装为UncheckedIOException
。
返回的流封装Reader
。如果文件系统资源的及时处理是必需的,随着资源的尝试构建应该用来确保流的close
方法被调用的流操作完成后。
path
-文件的路径
cs
-字符集使用解码
Stream
IOException
-如果一个I / O错误打开文件
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
readAllLines(Path, Charset)
,
newBufferedReader(Path, Charset)
,
BufferedReader.lines()
public static Stream<String> lines(Path path) throws IOException
Stream
。从文件的字节解码为字符使用
UTF-8
charset
。
这种方法的工作原理,如果调用它相当于评估表达式:
Files.lines(path, StandardCharsets.UTF_8)
path
-文件的路径
Stream
IOException
-如果一个I / O错误打开文件
SecurityException
在默认提供程序的情况下,和安全管理器的安装,
checkRead
方法被调用来检查对文件的读访问。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.