我使用BasicFileAttributes在Windows中获取Java中的属性,如下所示:
public class Test {
public static void main(String[] args) throws Exception {
BasicFileAttributes attr = null;
Path path = Paths.get("some","file.txt");
attr = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println(attr);
}
}
以上的输出类似于:
sun.nio.fs.WindowsFileAttributes@a1234567
因此我理解readAttributes正在返回一个WindowsFileAttributes对象。现在我想将BasicFileAttributes转换为WindowsFileAttributes并使用它的方法。但我无法导入和使用WindowsFileAttributes。我得到的错误如下:
java: package sun.nio.fs is not visible
(package sun.nio.fs is declared in module java.base, which does not export it to the unnamed module)
如何解决此错误?
答案 0 :(得分:1)
sun中的类。*不能使用。
一种方法是使用JNA访问本机Windows功能,如下所述:Get unique file id in Windows with Java?