猿问

如何在另一个Java程序中编译和运行Java程序?

我有一个Main.java和Test.java类,它们要编译并在Test.java代码中运行Main.java。这是我的代码


    Process pro1 = Runtime.getRuntime().exec("javac Main.java");

    pro1.waitFor();

    Process pro2 = Runtime.getRuntime().exec("java Main");


    BufferedReader in = new BufferedReader(new InputStreamReader(pro2.getInputStream()));

    String line = null;


    while ((line = in.readLine()) != null) {

        System.out.println(line);

    }

我只在Main.java中打印“ ok”,但是此代码不打印任何内容。问题是什么 ?


杨魅力
浏览 496回答 3
3回答

慕沐林林

您还需要pro2.waitFor();因为执行该过程将花费一些时间,并且您无法在该过程完成之前使用exitValue()。
随时随地看视频慕课网APP

相关分类

Java
我要回答