0

可能重复:
如何以编程方式更改文件权限?

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

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

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

4

1 回答 1

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);
}

资源

于 2012-11-15T20:13:16.370 回答