Similar question 这个问题与filename和classpath有关。 我在我的程序中使用classpath但是没有得到输出。
我通过各种帖子搜索了很多,但我无法解决我的错误。 我的D中有一个类文件:该文件只打印“hello world”。
当我通过命令提示符运行它时:
java -cp D:/ Test
它工作正常。
但是当我在另一个java程序的main方法中运行相同的内容时:
Process p = Runtime.getRuntime().exec("java -cp D:/ Test");
我没有输出,也没有错误。 有人可以帮我解决这里出错的问题吗?
答案 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
并阅读输入内容。