我想要执行的测试程序接受一个参数——一个文件名——并用“This is a modified version”这一行复制文件。在新文件的顶部。当我单独测试这个程序时,它可以工作并生成一个新文件。
然后我写了调用文件的程序:
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() 放入另一个程序中。当我单独运行那个程序时,它会打印出那些语句,但是当我试图从上面的程序中调用它时,它却没有。我该如何解决这个问题?
最佳答案
您必须先编译.java
文件,然后再启动它:
编译(包含主要方法的类):
javac Tester.java
启动:
java Tester inputfilename.txt
关于java - 使用 Runtime.exec(...) 从另一个 Java 程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22595528/