0

それは愚かに聞こえるかもしれません。しかし、それは可能ですか?私は、誰かがその中にコードを記述し、そのコードを実行して出力をテストできるようにするプログラムを作成することを考えていました。もちろん、これを行うには、Java内からJavaをコンパイルして実行できる必要があります。前もって感謝します。

4

2 に答える 2

2

JDK6はコンパイラツールAPIを追加しました

それはあなたが望むことをするはずです。

于 2013-01-29T21:52:49.947 に答える
0

次のコードスニペットを使用して、Javaプログラムからターミナルまたはコマンドラインをシミュレートすることを非常にうまく試みることができます...

import java.io.IOException;


public class Test {
    public static void main(String[] args) throws IOException {
        Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","echo abc > test.txt"});
        p = Runtime.getRuntime().exec(new String[]{"bash","-c","java HelloWorld > test.txt"});

    }
}

echo abc > test.txtしたがって、このコードが基本的に行うことは、(mainメソッドの1行目)やjava HelloWorld > test.txt(mainメソッドの2行目)などのさまざまなシェルコマンドを実行するbashシェルを実行することです。したがって、これ以降は、シェルコマンドを起動するのと同じですが、Javaプログラムから実行します。

于 2013-01-29T23:03:28.470 に答える