我试图从Java代码执行程序。这里是我的代码:从Java执行外部程序
public static void main(String argv[]) {
try {
String line;
Process p = Runtime.getRuntime().exec(new String[]{
"/bin/bash", "-c", "executable -o filename.txt"});
BufferedReader input = new BufferedReader(
new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
}
我的操作系统是Mac OS X 10.6。
现在,我试图运行的可执行文件应该吐出输出到filename.txt。如果我使用此命令并在终端上运行它,它会正常工作,并且filename.txt也会被填充。但是,从我的Java程序文件不创建。
如果我使用可执行文件> filename.txt,那么filename.txt被创建,但是是空的。不知道这里有什么问题。我试图运行的可执行文件是Xtide(如果有帮助的话)。
我真的很感谢任何帮助,我可以得到。
感谢,
这是来自http://stackoverflow.com/questions/2874591/execute-external-program-from-java/2874687#2874687的后续内容。 – mdma 2010-05-20 15:43:01