欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[NIO.2] 第十篇 NIO.2 中的文件属性

程序员文章站 2022-04-25 08:51:25
...
如果对于文件或目录还有疑问,例如文件是否隐藏、当前对象是文件还是目录、文件占用多少磁盘空间、文件拥有者是谁、等等。这一切问题都可以从文件元数据中得到。

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/
相关标签: Java NIO.2