如何使用Runtime.getRuntime()来执行.java文件

时间:2013-04-22 05:30:00

标签: java

如何使用Java Runtime.getRuntime.exec()调用另一个java程序?

它已被告知使用java程序执行程序,我们可以使用Runtime.getRuntime()。 这是一个例子。我可以使用Runtime.getRuntime().exec("notepad.exe")打开记事本;

任何人都可以帮我执行Java文件。提前谢谢!

2 个答案:

答案 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");
    }

}