Java 如何导入UnixFileAttributes?
执行此代码段时:Java 如何导入UnixFileAttributes?,java,attributes,views,Java,Attributes,Views,执行此代码段时: FileSystem fs = FileSystems.getDefault(); for (String s : fs.supportedFileAttributeViews()) { System.out.println(s); } 我得到这样的结果:“基本所有者用户unixdos posix” 然后,当我尝试实际使用UnixFileAttributeView()时,它似乎不存在。 我通过导入java.nio.file.attribute.*导入了整个包,但也尝试直接导
FileSystem fs = FileSystems.getDefault();
for (String s : fs.supportedFileAttributeViews())
{
System.out.println(s);
}
我得到这样的结果:“基本所有者用户unixdos posix”
然后,当我尝试实际使用UnixFileAttributeView()时,它似乎不存在。
我通过导入java.nio.file.attribute.*导入了整个包
,但也尝试直接导入java.nio.file.attributes.UnixFileAttributeView代码>并且它似乎不存在
而我能够导入从fs.supportedFileAttributeView()中获取的所有其他AttributeView()
你知道为什么会这样吗?此外,我如何修复它
提前感谢。来自文档
–使用扩展基本属性视图
支持POSIX系列的文件系统上支持的属性
标准,例如UNIX。这些属性包括文件所有者、组
所有者,以及九个相关的访问权限
似乎不可能导入它
通过谷歌搜索,您可以找到OpenJDK实现的一些源代码
我发现访问数据的最简单方法是:
Files.getAttribute(file.toPath,“unix:uid”)
您至少有以下选项:
dev
ino
mode
uid
gid
size
atime
mtime
ctime
当然,您应该首先检查Files.getFileStore(file.toPath).supportsFileAttributeView(“unix”)
。它没有与java 1.7捆绑在一起,但是,您可以阅读它的属性,如前面的注释所示
另外请注意,您可以参考_JSR203的backport_project_,您可以找到它的一个实现:
这个怎么样?src/solaris/classes/sun/nio/fs/UnixFileAttributeView.java?那是什么样的图书馆?如果已经有PosixFileAttributeView,为什么还要创建一个特定的类呢?这是openjdk的一部分,所以它可能不会出现在其他JDK版本中。不知道他们为什么会想到这一点,这可能只是多个实现采用不同路线的另一个例子