这是尝试运行系统命令的代码:
String command = "java -cp 1outinstr;out Main";
Process p = Runtime.getRuntime().exec("cmd /c " + command);
我的问题是我看不到命令的输出。
最佳答案
该命令运行正常,只是未连接到控制台。
如果您想查看命令的输出,您必须自己打印它:
String command = "java -cp 1outinstr;out Main";
Process p = Runtime.getRuntime().exec("cmd /c " + command);
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);
}
// read any errors from the attempted command
System.out
.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
code taken from another answer
如果您想了解更多信息,请阅读 standard streams :
In computer programming, standard streams are preconnected input and output channels between a computer program and its environment (typically a text terminal) when it begins execution. The three I/O connections are called standard input (stdin), standard output (stdout) and standard error (stderr). - from Wikipedia
关于java - 从 Java 程序运行系统命令时无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952079/