2013-04-22 86 views
-2

如何使用Java调用另一个Java程序Runtime.getRuntime.exec()如何使用Runtime.getRuntime()执行.java文件

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

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

回答

2

你可以执行一个这样的java文件。

Runtime.getRuntime().exec("java Test"); 

这是假设为java & classpath你的环境变量(Path)已经设置,否则你需要设置他们呢!

+0

...和'PATH'环境变量找到'java'。 – 2013-04-22 05:33:46

+0

@DarkCthulhu - 答案更新! thnx的建议! – SudoRahul 2013-04-22 05:35:41

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

} 
相关问题