在Java中启动连接的telnet cmd窗口

时间:2019-05-10 11:31:53

标签: java cmd telnet

我目前正在尝试制作一个将在启动时连接到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);
}

但是,尽管我认为它会运行所需的命令,但这不会打开终端。我希望打开终端,执行一条命令,如第二行所示,然后将终端保持打开状态以供用户使用。

有没有办法做到这一点?我已经尝试了一段时间,但没有找到可以实际提供所需输出的解决方案。

1 个答案:

答案 0 :(得分:1)

您好,使用start

 Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"ping localhost && telnet localhost 4445\"");

将打开一个新窗口。但是您将无法访问该进程,因为它是由exec启动的不同进程。仍然可以执行multip命令。