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它问我用户名和密码如何通过使用输入密码后的代码执行命令ıcontineude执行命令我的第二个问题输入流不工作readline是空的所有的时间如何才能解决这个问题。谢谢你们。
答案 0 :(得分:1)
我建议您使用Apache Commons Net Java库(http://commons.apache.org/proper/commons-net/),其中包含许多Internet协议的各种客户端,包括Telnet。我不建议您使用操作系统中的嵌入式telnet客户端。图书馆将会更清洁。
另外,在您的第一个while
循环中,您每次迭代都会关闭writer
对象,而您不会使用reader
进一步阅读。