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

    }
}

因此,这段代码的基本作用是执行一个 bash shell,在该 shell 中执行各种 shell 命令,例如echo abc > test.txt(main 方法中的第一行)或java HelloWorld > test.txt(main 方法中的第二行)。所以在这里,它就像启动 shell 命令,但来自 Java 程序

于 2013-01-29T23:03:28.470 回答