我正在尝试从Java代码执行程序。这是我的代码:
public static void main(String argv[]) {
try {
String line;
Process p = Runtime.getRuntime().exec(
"/bin/bash -c ls > OutputFileNames.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。
如果我">
OutputFileNames.txt"从getRuntime().exec()方法中删除,则所有文件名都将打印在控制台上。但是我需要将其打印到文件中。
另外,如果我将命令更改为:
Process p = Runtime.getRuntime().exec(
"cmd \c dir > OutputFileNames.txt");
并在Windows上运行,它也可以运行并在文件中完美打印结果。
我已经阅读了其他文章,以期从Java执行另一个应用程序,但似乎都与我的问题无关。
我会很感激我能得到的任何帮助。
谢谢,