当我执行此代码段时:
FileSystem fs = FileSystems.getDefault();
for (String s : fs.supportedFileAttributeViews())
{
System.out.println(s);
}
我得到了这样的结果:“基本所有者用户 unix dos posix”
然后,当我尝试使用UnixFileAttributeView()时,它似乎不存在。
我导入java.nio.file.attribute.*;
导入整个包,但也尝试直接导入java.nio.file.attributes.UnixFileAttributeView;
,但似乎不存在。
然而,我能够导入fs.supportedFileAttributeViews()
中的所有其他属性视图。
你知道为什么会这样吗?而且我如何解决它?
提前致谢。
答案 0 :(得分:1)
来自文档
PosixFileAttributeView - 使用扩展基本属性视图 支持POSIX系列的文件系统支持的属性 标准,例如UNIX。这些属性包括文件所有者,组 所有者,以及九个相关的访问权限。
答案 1 :(得分:1)
似乎无法导入它。
通过Google搜索,您可以找到OpenJDK实施的一些来源。
我找到了访问数据的最简单方法:
Files.getAttribute(file.toPath, "unix:uid")
至少你有这些选择:
dev
ino
mode
uid
gid
size
atime
mtime
ctime
当然,您应首先检查Files.getFileStore(file.toPath).supportsFileAttributeView("unix")
。
答案 2 :(得分:0)
它没有与java 1.7捆绑在一起,但是,您可以阅读其属性,如之前的评论中所示。
另外需要注意的是,你可以参考backport_project_of_JSR203,你可以找到它的实现: