代码的基础是将打开Windows CMD终端。关闭时,有时会打印额外的输出。为什么有时会打印这个额外的行(Output: U:\Java\Type Test>
)?
以下是代码段:
Process proc = null;
String[] cmd = {"cmd", "/k", "start"};
proc = Runtime.getRuntime().exec(cmd);
Scanner in = new Scanner(proc.getInputStream()).useDelimiter("\\A");
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
OutputStream os = proc.getOutputStream();
InputStream inputStream = proc.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
System.out.println("First:" + proc.isAlive());
String line, foo;
while (proc.isAlive() && in.hasNext()){
System.out.println("Output: " + in.nextLine());
proc.destroyForcibly();
}
常用输出:
First:true
Output:
不寻常的输出:
First:true
Output:
Output: U:\Java\Type Test>