设置目录的读权限

时间:2012-11-15 20:07:24

标签: java permissions javafx

  

可能重复:
  How do i programmatically change file permissions?

我想为某个目录设置读取权限。因为我想使用list() method from java.io.File,但是当我打印例如:

System.out.println(fileDir.list());  

我得到“null”,根据文档,它可能意味着我没有文件所在目录的权限。

1 个答案:

答案 0 :(得分:1)

您可以使用JNA来调用本机C库(作为使用JNI的替代方法)。

JNA的唯一问题是它具有比JNA更高的处理时间,因此如果您尝试修改大量文件/目录则变得不切实际。

编辑代码

import com.sun.jna.Library;
import com.sun.jna.Native;

public class ChmodTest {
    private static LinkedOSLibrary linkedLibrary = 
        (LinkedOSLibrary ) Native.loadLibrary("c", LinkedOSLibrary.class);

    public static void main(String[] args) {
        linkedLibrary.chmod("/path/to/file", 0755);
    }
}

interface LinkedOSLibrary extends Library {
    public int chmod(String path, int mode);
}

Source