Java:在新控制台中运行方法

时间:2016-06-14 21:52:38

标签: java console

在我正在开发的Java应用程序中,我需要在新的控制台中启动一个方法:在运行应用程序时,我想调用一个方法并在一个新的单独控制台中执行它的内容:是否可能?

提前致谢

1 个答案:

答案 0 :(得分:0)

可以通过创建一个负责执行该方法的新进程(java.lang.Process)来实现。但是因为进程只能调用main()并且无法从某个类调用单独的方法,所以需要将所需的方法包装到另一个类中:

public class SecondClass {
    public static void main(String[] args) {
        // if it's static
        FirstClass.yourMethod(...);
        // if it's non-static
        new FirstClass().yourMethod(...);
    }
}

然后通过使用ProcessBuilder类或Runtime.exec(),调用SecondClass的main()方法

Process p = new ProcessBuilder("java -cp [...] SecondClass").start();

Process p = Runtime.getRuntime().exec("[as above]");

你得到了流程实例。将该代码放入FirstClass