簡體   English   中英

telnet連接inputstream為何阻塞?

[英]telnet connection inputstream blocking why?

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一直為空可以解決這個問題。謝謝

我建議您使用Apache Commons Net Java庫( http://commons.apache.org/proper/commons-net/ ),其中包含用於許多Internet協議(包括Telnet)的各種客戶端。 我不建議您使用操作系統中的嵌入式telnet客戶端。 有了圖書館,一切都會變得更加干凈。

另外,在您的第一個while循環中,您將在每次迭代中關閉writer對象,並且您不會再使用reader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM