如何从命令提示符输出到java程序

时间:2015-05-07 11:56:56

标签: java batch-file

我正在运行一个.jar文件,它在命令提示符下生成输出。我需要命令提示符窗口的输出在UI中打印它。 我使用了以下代码,但在我的情况下它不起作用。

package ckmetrics;
import java.io.IOException;

public class CKMetrics {

    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        String command ="java -jar CK-Metrics.jar Test.class";
        String ans = execCmd(command);
        System.out.println(ans);
    }

    public static String execCmd(String cmd) throws java.io.IOException {
        System.out.println(cmd);
        Process proc = Runtime.getRuntime().exec(cmd);
        java.io.InputStream is = proc.getInputStream();
        java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
        String val = "";
        if (s.hasNext()) {
            val = s.next();
            System.out.println("1");
        }
        else {
            val = "";
            System.out.println("2");
        }
        System.out.print(val);
        return val;
    }
}

每次执行else条件。

1 个答案:

答案 0 :(得分:0)

不应该'吨

java.io.InputStream is = proc.getInputStream();

取而代之的是

java.io.OutputStream os = proc.getOutputStream();

另请看一下:Printing Runtime exec() OutputStream to console