如何使用Java代码设置rwxrwxrwx权限?

时间:2014-03-05 17:15:32

标签: java android kernel root

大家好!我想改变cpu的频率时钟,但我是个问题。要更改时钟频率,我需要修改文件scaling_max_freq(/ sys / devices / system / cpu / cpu0 / cpufreq / scaling_max_freq)但是......这个文件具有以下权限:rw-rw ----所以使用文件管理器使用root权限我将rw-rw ----更改为rwxrwxrwx并且一切正常(在此模式下我可以设置cpu频率,使用rw-rw ----权限我不能这样做)。我用来设置时钟的代码就是这个

public static boolean setClock(String filePath, String value) {
    try {
        fileWriter = new FileWriter(filePath);
        fileWriter.write(value);
        fileWriter.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
        e.printStackTrace();
        return false;
    }
    return true;
}

现在的问题是:如何使用代码设置文件的权限?如何为文件scaling_max_freq设置rwxrwxrwx?提前致谢。

2 个答案:

答案 0 :(得分:0)

您无法使用Java 6.

您可以使用Java 7:

Files.setPosixAttributes(path, EnumSet.allOf(PosixFilePermission.class));

现在的问题是为什么。你通常不应该这样做。特别是在sysfs文件上。

答案 1 :(得分:0)

您可以尝试使用Runtime,但如果声明您可能无法在文件系统上设置权限。