public interface BasicFileAttributeView extends FileAttributeView
通过调用readAttributes方法,通过批量操作从文件系统检索文件属性 。 该类还定义了更新文件时间属性的setTimes方法。
在需要动态访问文件属性的地方,此属性视图支持的属性具有以下名称和类型:
Name Type "lastModifiedTime" FileTime"lastAccessTime" FileTime"creationTime" FileTime"size" Long"isRegularFile" Boolean"isDirectory" Boolean"isSymbolicLink" Boolean"isOther" Boolean"fileKey" Object
getAttribute方法可以用于读取任何这些属性,就像通过调用readAttributes()方法一样。
setAttribute方法可以用于更新文件的最后修改时间,上次访问时间或创建时间属性,就好像通过调用setTimes方法一样。
| Modifier and Type | Method and Description |
|---|---|
String |
name()
返回属性视图的名称。
|
BasicFileAttributes |
readAttributes()
读取大量操作的基本文件属性。
|
void |
setTimes(FileTime lastModifiedTime, FileTime lastAccessTime, FileTime createTime)
更新文件的最后修改时间,上次访问时间和创建时间属性的任何或全部。
|
String name()
"basic" 。
name中的
AttributeView
BasicFileAttributes readAttributes() throws IOException
如果所有文件属性都被读取为相对于其他文件系统操作的原子操作,则是实现特定的。
IOException - 如果发生I / O错误
SecurityException - 在默认提供程序的情况下,安装了一个安全管理器,调用其
checkRead方法来检查对该文件的读访问
void setTimes(FileTime lastModifiedTime, FileTime lastAccessTime, FileTime createTime) throws IOException
此方法更新文件的时间戳属性。 这些值被转换为文件系统支持的时代和精度。 从精细到粗粒度的转换会导致精度损失。 尝试设置不支持的时间戳或超出底层文件存储区支持范围的值时,此方法的行为未定义。 投掷IOException可能会失败。
如果任何的lastModifiedTime , lastAccessTime ,或createTime参数具有值null ,则对应的时间戳不改变。 当仅更新时间戳属性的一些但不是全部时,实现可能需要读取文件属性的现有值。 因此,该方法可能不是关于其他文件系统操作的原子操作。 读取和重写现有值也可能导致精度损失。 如果所有的lastModifiedTime , lastAccessTime和createTime参数为null ,则此方法没有任何效果。
使用示例:假设我们要更改文件的最后访问时间。
Path path = ...
FileTime time = ...
Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, time, null);
lastModifiedTime - 新上次修改的时间,或
null不更改值
lastAccessTime - 最后访问时间,或
null不更改该值
createTime - 文件的创建时间,或
null不更改值
IOException - 如果发生I / O错误
SecurityException - 在默认提供程序的情况下,安装一个安全管理器,调用其
checkWrite方法来检查对该文件的写入访问
Files.setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime)
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.