2013-04-22 84 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"); 
    } 

} 
相關問題