如何导入UnixFileAttributes?

时间:2013-05-05 08:36:27

标签: java attributes views

当我执行此代码段时:

 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()中的所有其他属性视图。

你知道为什么会这样吗?而且我如何解决它?

提前致谢。

3 个答案:

答案 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,你可以找到它的实现:

https://code.google.com/p/jsr203-backport/source/browse/trunk/src/jsr203/sun/nio/fs/UnixFileAttributeView.java