我想为某个目录设置读取权限。因为我想使用list() method from java.io.File,但是当我打印例如:
System.out.println(fileDir.list());
我得到“null”,根据文档,它可能意味着我没有文件所在目录的权限。
答案 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);
}