Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中启动已连接的telnet cmd窗口_Java_Cmd_Telnet - Fatal编程技术网

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

在Java中启动已连接的telnet cmd窗口,java,cmd,telnet,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("t

我目前正在尝试创建一个应用程序,该应用程序将在启动时连接到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);
}
但是,这不会打开终端,尽管我假设它运行所需的命令。我想打开一个终端,执行一个命令,显示在第二行,然后让终端打开供用户使用


有办法做到这一点吗?我已经尝试了一段时间,但我找不到真正能提供所需输出的解决方案。

您好,使用start

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

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

你刚试过普通插座吗@PaulBastide常规套接字是个好主意,除非服务器实际上是telnet服务器。Telnet是一种协议,它支持使用0xff字节值作为转义字符的许多通信选项。