我已经尝试过这些语法,但是为什么它不起作用?

我很高兴您的建议。

之前感谢。对不起,英语不好。



package priviledge;

import java.io.File; import java.io.IOException;

/** * * @author DINA */ public class Main {

/** * @param args the command line arguments */ public static void main(String[] args) throws InterruptedException, IOException { File f = new File("C:/lala/images1.jpg"); permission(f); } public static void permission(File src) throws InterruptedException, IOException { // win32 command line variant Process p = Runtime.getRuntime().exec("cacls 000 " + src.getPath()); p.waitFor(); // p.waitFor()

最佳答案

因为cacls的工作方式不同于chmod。特别是,第一个参数是文件名(这意味着您尝试在名为000的文件上执行此操作)。 Windows使用ACL进一步简化了事情,因为它们不太适合三个八进制数。

查找cacls的文档(只需在命令提示符下键入)并修复命令行。

10-01 21:38