如何在Java中管理Linux文件权限?

时间:2013-03-22 10:58:27

标签: java linux permissions chmod ext3

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

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

-rwxr-xr--

是否可以使用Java执行此操作?

  • 我知道File类中有一些方法可以知道文件canExecutecanReadcanWrite,但AFAIK此信息适用于当前用户只要。我需要知道整个八进制数,例如755,所以我需要从用户,组和其他人那里得到它。
  • 我知道Java7带来了Posix操作,但是如何使用较小的JRE来实现呢?
  • 我不想使用lschmod等命令。

2 个答案:

答案 0 :(得分:1)

如果您可以使用外部库,则有以下几种:

如果整个库看起来很麻烦,创建一个调用lstat C函数并返回访问模式的JNI包装器需要大约10分钟。这是一个创建这样的wrapper for the isatty and ttyname functions

的教程

答案 1 :(得分:0)

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

更脏