getRuntime.exec()无效,ubuntu 13.04

-1 java process runtime.exec

当我从终端执行它时,以下命令工作正常:

rm -f /home/folkman/Desktop/DimacsProba/*
Run Code Online (Sandbox Code Playgroud)

但是,我想用Java执行它.我正在使用Netbeans,当我使用旧版本的Ubuntu时,它有效:

     Runtime.getRuntime().exec("rm -f /home/folkman/Desktop/DimacsProba/*");
Run Code Online (Sandbox Code Playgroud)

现在,使用Ubuntu 13.04.以下任何内容都不起作用:

 //1
   Runtime.getRuntime().exec("rm -f /home/folkman/Desktop/DimacsProba/*");

 //2
   Runtime.getRuntime().exec(new String[]{"rm" , "-f", "/home/folkman/Desktop/DimacsProba/*"});

 // 3
 ProcessBuilder pb= new ProcessBuilder("rm","/home/folkman/Desktop/DimacsProba/*");
 Process p=pb.start(); 
Run Code Online (Sandbox Code Playgroud)

也许这不是因为Ubuntu,但我真的不知道.请帮忙!谢谢!

Pet*_*rey 6

通配符是一个shell功能,所以如果你使用exec,它们将被逐字逐句.如果你有一个名为的文件*将被删除,但我怀疑你想在这里扩展一个shell*

尝试

"sh", "-c", "rm -f /home/folkman/Desktop/DimacsProba/*"
Run Code Online (Sandbox Code Playgroud)