有谁知道如何用Java读取telnet的输出?我能够连接到 服务器并执行一些命令,但我需要从那些命令输出。
例如,命令ls给出了所有文件和目录的列表,所以我想得到它 列出并在我的Java代码中用它做一些事情。
我曾尝试过Telnet的第三方库,如apache-commons和sinetfactory(www.jscape.com )但我的案子没有结果......
伊戈尔
答案 0 :(得分:3)
您可以阅读流程InputStream
的输出,如下所示:
final Process process =
new ProcessBuilder("path/to/telnet", "and", "some", "args").start();
final AtomicBoolean running = new AtomicBoolean(true);
final InputStream processData = process.getInputStream();
// start a thread to read process output
new Thread(new Runnable(){
@Override
public void run(){
while(running.get()){
// read processData
}
}
}).start();
process.waitFor();
running.set(false);
答案 1 :(得分:0)
我知道你要求一个java解决方案,但是期望的脚本语言就是针对这类事情而开发的。 http://expect.sourceforge.net/
如果 是java,那么请忽略。