基本上尝试以下代码段我得到一个 ClassCastException:
public static void main (String []args)
{
Path path = Paths.get((System.getProperty("user.home")), "Desktop","usnumbers.txt");
try {
Integer size = (Integer)Files.getAttribute(path, "basic:size", NOFOLLOW_LINKS);
System.out.println("Size: " + size.toString());
} catch (IOException e) {
System.err.println(e);
}
}
}
一旦我用 更改关键字Integer
,它就会得到修复Long
。我检查了文档Files.getAttribute(...)
,它返回一个不是 Long 的对象。此外,总是在同一页面上,在解释此方法的用法时,他们实际上是使用整数关键字来转换对象。这是官方 oracle 文档的链接解释它。直接来自同一链接的方法用法:
使用示例:假设我们在支持“unix”视图的系统上需要文件所有者的用户 ID:
Path path = ... int uid = (Integer)Files.getAttribute(path, "unix:uid");