我目前正在尝试制作一个将在启动时连接到telnet服务器的应用程序。目前,我正在尝试类似于以下代码:
String ss = null;
Process p = Runtime.getRuntime().exec("cmd /c telnet localhost 4445");
BufferedWriter writeer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
writeer.write("telnet localhost 4445");
writeer.flush();
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
System.out.println("Here is the standard output of the command:\n");
while ((ss = stdInput.readLine()) != null) {
System.out.println(ss);
}
但是,尽管我认为它会运行所需的命令,但这不会打开终端。我希望打开终端,执行一条命令,如第二行所示,然后将终端保持打开状态以供用户使用。
有没有办法做到这一点?我已经尝试了一段时间,但没有找到可以实际提供所需输出的解决方案。
答案 0 :(得分:1)
您好,使用start
Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"ping localhost && telnet localhost 4445\"");
将打开一个新窗口。但是您将无法访问该进程,因为它是由exec启动的不同进程。仍然可以执行multip命令。