telnet到Windows中的java程序切换并获取输出

时间:2013-05-29 07:24:20

标签: java cmd telnet

从Java程序,我想测试具有特定IP地址和端口的交换机是否可用于telnet。所以计划运行telnet并退出。如果它出现“无法打开连接”或“连接失败”错误,则无法访问交换机。如果没有给出任何错误,则可以访问telnet。

我在代码下面执行,

Process p = Runtime.getRuntime().exec("cmd /C telnet "+IP+ " " +port );
//Process p = Runtime.getRuntime().exec("cmd /C ver");
p.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();

但它不提供任何输出是否可用。当我在命令提示符下运行相同的telnet命令时,它工作正常。但是从java不起作用。

声明,

Process p = Runtime.getRuntime().exec("cmd /C ver");

工作正常,并返回版本。

我不知道如何telnet到交换机并退出并返回错误以查看它是否可用。

谢谢, Peeyush

1 个答案:

答案 0 :(得分:0)

您可以在java中使用Socket并尝试打开与所需主机和端口的连接,而不是调用telnet命令。 如果不需要特殊的控制代码处理,这适用于大多数情况。

作为替代方案:Apache Commons Net包含一个java telnet客户端库。

相关问题