2
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 不工作 readline 一直是空的 如何我可以解决这个问题吗。谢谢你

4

1 回答 1

1

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

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

于 2013-07-29T09:36:40.293 回答