从java程序调用类文件

时间:2015-04-06 06:50:57

标签: java runtime.exec

Similar question 这个问题与filename和classpath有关。 我在我的程序中使用classpath但是没有得到输出。

我通过各种帖子搜索了很多,但我无法解决我的错误。 我的D中有一个类文件:该文件只打印“hello world”。

当我通过命令提示符运行它时:

java -cp D:/ Test

它工作正常。

但是当我在另一个java程序的main方法中运行相同的内容时:

 Process p = Runtime.getRuntime().exec("java -cp D:/ Test");

我没有输出,也没有错误。 有人可以帮我解决这里出错的问题吗?

2 个答案:

答案 0 :(得分:1)

Process p = Runtime.getRuntime().exec("java -cp D:/ Test");

这将运行您的程序,但您无法看到输出。您需要从流程中获取输入,使用以下代码:

BufferedReader stdInput = new BufferedReader(new 
     InputStreamReader(p.getInputStream()));

BufferedReader stdError = new BufferedReader(new 
     InputStreamReader(p.getErrorStream()));

// read the output from the command
System.out.println("Here is the standard output of the command:\n");
String s = null;
while ((s = stdInput.readLine()) != null) {
    System.out.println(s);
}

答案 1 :(得分:0)

您需要从InputStream中获取Process并阅读输入内容。