在代码中调用Java控制台命令

在代码中调用Java控制台命令,java,Java,这听起来可能很愚蠢。但这有可能吗?我在考虑创建一个程序,允许某人在其中编写代码,然后运行代码来测试输出。当然,要做到这一点,我需要能够从Java内部编译和运行Java。提前感谢。JDK6添加了一个 这应该可以满足您的需要。您可以尝试使用以下代码片段从java程序模拟终端或命令行 import java.io.IOException; public class Test { public static void main(String[] args) throws IOExceptio

这听起来可能很愚蠢。但这有可能吗?我在考虑创建一个程序,允许某人在其中编写代码,然后运行代码来测试输出。当然,要做到这一点,我需要能够从Java内部编译和运行Java。提前感谢。

JDK6添加了一个


这应该可以满足您的需要。

您可以尝试使用以下代码片段从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命令,如
echo abc>test.txt
(主方法中的第一行)或
java HelloWorld>test.txt
(主方法中的第二行)。因此,在这里,它就像从Java程序启动shell命令一样