我正在试图通过Java使用的ProcessBuilder运行sed命令时,命令IOException异常:IOException异常而乳宁的bash通过的ProcessBuilder
ERROR: java.io.IOException: Cannot run program "sed -i 's/hello world//g'
/home/user/test": error=2, No such file or directory
的命令是sed -i 's/hello world//g' /home/user/test
但问题是,没有命令,我可通过终端运行相同的命令,它会删除字符串“Hello World”
public void removeString(String str, String file) throws IOException {
String command = "sed -i \'s/" + str + "//g\' " + file;
System.out.println(command);
ProcessBuilder pb = new ProcessBuilder(command);
Process p = pb.start();
}
是什么原因造成的过程中无法找到该文件?
您可以尝试使用其完整路径运行sed二进制文件。 – Snicolas 2013-03-26 20:58:02