如何使用Java Runtime.getRuntime.exec()
调用另一个java程序?
它已被告知使用java程序执行程序,我们可以使用Runtime.getRuntime()
。
这是一个例子。我可以使用Runtime.getRuntime().exec("notepad.exe")
打开记事本;
任何人都可以帮我执行Java文件。提前谢谢!
答案 0 :(得分:2)
你可以像这样执行一个java文件。
Runtime.getRuntime().exec("java Test");
这是假设Path
&的环境变量(java
)。已设置classpath
,否则您也需要设置它们!
答案 1 :(得分:0)
实际上,您无法直接执行.java
文件。它需要先编译。编译可以使用System java编译器完成,该编译器可以使用ToolProvider
获得并与Runtime.getRuntime().exec(String)
一起运行。样本可能是这样的:
import java.io.FileOutputStream;
import java.io.IOException;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class JavaTest {
public static void main(String[] args) throws IOException {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// creating a file, but you could load an existing one
FileOutputStream javaFile = new FileOutputStream("Test.java");
javaFile.write("public class Test { public static void main(String[] args) { javax.swing.JOptionPane.showMessageDialog(null, \"I'm here!\",\"Test\", 1);}}"
.getBytes());
// compiling it
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
compiler.run(null, System.out, System.err, "Test.java");
// running it
Runtime.getRuntime().exec("java Test");
}
}