可能重复:
如何以编程方式更改文件权限?
我想为某个目录设置读取权限。因为我想使用java.io.File 中的 list() 方法,但是当我打印例如这个时:
System.out.println(fileDir.list());
我得到“null”,根据文档,这可能意味着我没有文件所在目录的权限。
可能重复:
如何以编程方式更改文件权限?
我想为某个目录设置读取权限。因为我想使用java.io.File 中的 list() 方法,但是当我打印例如这个时:
System.out.println(fileDir.list());
我得到“null”,根据文档,这可能意味着我没有文件所在目录的权限。
您可以使用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);
}