《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息

2.5.5 获取文件信息

下面的静态方法都将返回一个boolean值,表示检查路径的某个属性的结果:

  • exists
  • isHidden
  • isReadable, isWritable, isExecutable
  • isRegularFile, isDirectory, isSymbolicLink

size方法将返回文件的字节数:
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息

getOwner方法将文件的拥有者作为java.nio.f?ile.attribute.UserPrincipal的一个实例返回。
所有的文件系统都会报告一个基本属性集,它们被封装在BasicFileAttributes接口中,这些属性与上述信息有部分重叠。基本文件属性包括:

  • 创建文件、最后一次访问以及最后一次修改文件的时间,这些时间都表示成java.nio.f?ile.attribute.FileTime。
  • 文件是常规文件、目录还是符号链接,抑或这三者都不是。
  • 文件尺寸。
  • 文件主键,这是某种类的对象,具体所属类与文件系统相关,有可能是文件的唯一标识符,也可能不是。

要获取这些属性,可以调用
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息

如果你了解到用户的文件系统兼容POSIX,那么你可以获取一个PosixFileAttributes实例:
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息

然后从中找到组拥有者,以及文件的拥有者、组和访问权限。我们不会详细讨论其细节,因为这种信息中很多内容在操作系统之间并不具备可移植性。
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息