我只需要知道Mac上使用Java的文件的所有者名称 - 我该怎样才能获得它?谢谢!
这个很讨厌。获取文件所有者没有标准方法(至少包括Java 6,这是OSX的当前生产版本)。现在最简单的方法是使用ProcessBuilder
来执行对stat
的调用,并以文件名作为参数,然后解析将在子进程的标准输出通道上返回的结果。解析结果时必须小心,因为OSX上的用户名可能包含空格。
或者,使用JNI。
直到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以及一些平台本机代码。
也可以看看: