如何在OSX上获取Java文件所有者的名称?

时间:2010-06-22 20:19:02

标签: java macos

我只需要使用Java知道Mac上文件的所有者名称 - 我该如何获取它?谢谢!

2 个答案:

答案 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。