我只需要使用Java知道Mac上文件的所有者名称 - 我该如何获取它?谢谢!
答案 0 :(得分:16)
直到Java 7才能做到这一点。使用Java 7,您可以使用Files#getOwner()
。
Path path = Paths.get("/path/to/file.ext");
UserPrincipal owner = Files.getOwner(path);
String username = owner.getName();
在Java 7之前,最好的办法是运行命令或JNI以及一些平台本机代码。
另见:
答案 1 :(得分:4)
这个很讨厌。有 no 标准方法来获取文件的所有者(至少包括Java 6,这是OSX的当前生产版本)。现在最简单的方法是使用ProcessBuilder
来执行对stat
的调用,并以文件名作为参数,然后解析将在标准输出通道上返回的结果。子。解析结果时必须小心,因为OSX上的用户名可能包含空格。
或者,使用JNI。