我已经从java打开了命令提示符,并且我使用cd
类多次运行ProcessBuilder
命令。命令提示符在我当前的目录中打开,但cd
命令未显示在窗口中。我的eclipse控制台显示更改的目录。
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe","/k","start");
builder.redirectErrorStream(true);
Process p = null;
try {
p = builder.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedWriter p_stdin =
new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
int n=3;
for (int i=0; i<n; i++) {
try {
//single execution
p_stdin.write("cd..");
p_stdin.newLine();
p_stdin.flush();
}
catch (IOException e) {
System.out.println(e);
}
}
Scanner s = new Scanner( p.getInputStream() );
while (s.hasNext())
{
System.out.println( s.next() );
}
s.close();
在控制台上输出
C:\用户\ I309719 \桌面\硒\工作空间\ Command_Prompt&GT; CD ..
C:\用户\ I309719 \桌面\硒\工作区&GT; CD ..
C:\用户\ I309719 \桌面\硒&GT; CD ..
为什么冲洗没有在打开的窗口上打印?