Я пытаюсь выполнить программу из кода 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