3

是否有任何机制来获取和设置文件/目录权限?

例如,我想以 shell 方式显示文件的权限:

-rwxr-xr--

是否可以使用 Java 做到这一点?

  • 我知道类中有一些方法File可以知道文件canExecute,canReadcanWrite, 但 AFAIK 此信息仅适用于当前用户。我需要知道整个八进制数,例如 755,所以我需要从用户、组和其他人那里获取它。
  • 我知道 Java7 带来了 Posix 操作,但是如何使用更小的 JRE 来做到这一点?
  • 我不想使用ls, 或之类的命令chmod
4

2 回答 2

1

如果可以使用外部库,有几个:

如果整个库看起来很麻烦,那么创建一个调用lstatC 函数并返回访问模式的 JNI 包装器大约需要 10 分钟。这是一个为and函数创建这样一个包装器isattyttyname的教程。

于 2013-03-22T15:47:46.340 回答
0

正如您所说,在 Java7 中,JVM 支持它,因此您可以保证这可以在所有操作系统中可移植地完成(因为 JVM 实现会处理它)。在 Java7 下,您必须为每个要支持的操作系统使用本机库。这可能比执行更脏chmod

于 2013-03-22T11:02:09.317 回答