gpt4 book ai didi

java - telnet 连接输入流阻塞为什么?

转载 作者:行者123 更新时间:2023-11-30 11:30:13 26 4
gpt4 key购买 nike

package burak;
import java.io.*;

public class telcon {
public static void main(String[] args) {

try {
String[] command=new String[2];
command[0]="cmd /c start cmd.exe /k \"telnet\"";
command[1]="92.44.0.60";
Process p =Runtime.getRuntime().exec(command);
try {
p.waitFor();
} catch (InterruptedException e) {
System.out.println(e);
}

BufferedReader reader= new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=null;
line=reader.readLine();
File file =new File("rapor.txt");
file.createNewFile();
FileWriter writer=new FileWriter(file);
StringBuilder responseData=new StringBuilder();

while(line!=null) {
System.out.println(line);
responseData.append(line);
writer.write(line);
writer.close();
}

BufferedReader stdInput=new BufferedReader(new InputStreamReader(p.getInputStream()) );
BufferedReader stdError=new BufferedReader(new InputStreamReader(p.getErrorStream()));
String Error;

while((Error=stdError.readLine())!=null) {
System.out.println(Error);
}

while((Error=stdInput.readLine())!=null) {
System.out.println(Error);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}

我想运行 telnet 执行一些命令 我首先遇到两个问题 当我连接到 telnet 它问我用户名和密码 我如何在输入密码后使用代码继续执行命令 我的第二个问题 inputstream is not working readline is empty我怎么能解决这个问题。谢谢你的帮助

最佳答案

我向您推荐 Apache Commons Net Java 库 ( http://commons.apache.org/proper/commons-net/ ),它包含许多 Internet 协议(protocol)(包括 Telnet)的各种客户端。我不建议您使用操作系统中的嵌入式 telnet 客户端。有了图书馆,事情会变得更干净。

此外,在您的第一个 while 循环中,您将在每次迭代时关闭 writer 对象,并且您不会进一步阅读您的 reader

关于java - telnet 连接输入流阻塞为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com