【发布时间】:2014-03-23 18:59:11
【问题描述】:
我想要执行的测试程序接受一个参数——一个文件名——并使用“这是一个修改后的版本”行来制作文件的副本。在新文件的顶部。当我单独测试这个程序时,它可以工作并生成一个新文件。
然后我编写了调用文件的程序:
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime.exec("java Tester.java inputfilename.txt");
p.waitFor();
System.out.println("Done");
} catch(Exception e) {
System.out.println("Error");
System.exit(0);
}
}
上面的程序打印出“完成”,但它从未对我传入的文件进行修改。然后我在另一个程序中放入了一些 println()。当我单独运行该程序时,它会打印出这些语句,但是当我尝试从上面的程序中调用它时,它没有。我该如何解决这个问题?
【问题讨论】:
-
Jari 告诉你为什么它不能正常工作。但关于输出:您必须明确读取由您从那里启动的程序生成的输出。另请看stackoverflow.com/a/21904185
标签: java process runtime.exec