我已经尝试过这些语法,但是为什么它不起作用?
我很高兴您的建议。
之前感谢。对不起,英语不好。
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
的文档(只需在命令提示符下键入)并修复命令行。