我試圖從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