[NIO.2] 第十篇 NIO.2 中的文件属性
程序员文章站
2022-03-02 11:21:12
...
如果对于文件或目录还有疑问,例如文件是否隐藏、当前对象是文件还是目录、文件占用多少磁盘空间、文件拥有者是谁、等等。这一切问题都可以从文件元数据中得到。
NIO.2 中的元数据就是文件属性,并且提供了 java.nio.file.attribute 包来访问元数据。因为不同的文件系统有不同的文件属性,NIO.2 将这些属性通过视图(view)进行分组,每个视图都对应特定的文件系统。一般来说,视图的属性可以通过 java.nio.file.Files 类的 readAttributes() 来批量获取,也可以通过 getAttribute() 和 setAttribute() 方法来操作单个属性。
通过学习 NIO.2 提供的视图,可以获取关于文件的属性信息。
针对不同的文件系统和功能,NIO.2 提供以下 6 个属性视图:
文章来源:http://www.aptusource.org/2014/03/nio-2-supported-views/
NIO.2 中的元数据就是文件属性,并且提供了 java.nio.file.attribute 包来访问元数据。因为不同的文件系统有不同的文件属性,NIO.2 将这些属性通过视图(view)进行分组,每个视图都对应特定的文件系统。一般来说,视图的属性可以通过 java.nio.file.Files 类的 readAttributes() 来批量获取,也可以通过 getAttribute() 和 setAttribute() 方法来操作单个属性。
通过学习 NIO.2 提供的视图,可以获取关于文件的属性信息。
针对不同的文件系统和功能,NIO.2 提供以下 6 个属性视图:
- BasicFileAttributeView:这是基本属性视图,需要支持所有的文件系统实现。这个属性视图名为 basic。
- DosFileAttributeView:这个视图提供了 4 个标准属性,用于 DOS 的文件系统实现。这个属性视图名为 dos。
- PosixFileAttributeView:这个视图扩展了标准视图,用于 POSIX(Portable Operating System Interface for Unix)标准的文件系统实现,例如 UNIX。这个属性视图名为 posix。
- FileOwnerAttributeView:这个视图可用于任意文件系统实现,只要此文件系统支持文件所有者。这个属性视图名为 owner。
- AclFileAttributeView:这个视图用于读取和更新文件的 ACL(访问控制列表)。并且支持 NFSv4 ACL 模式。这个属性视图名为 acl。
- UserDefinedFileAttributeView:这个视图支持用户自定义的元数据。
文章来源:http://www.aptusource.org/2014/03/nio-2-supported-views/