2013-09-11 4 views
0

Я уже создаю telnet с java, но я понятия не имею, как сохранить вывод в файл. может помочь? это мой код ...сохранить вывод из telnet

это для подключения к цели

 public class telnetsample 
    { 
    private static TelnetClient telnet = new TelnetClient(); 
    private InputStream in; 
    private PrintStream out; 
    private char prompt = '$'; 

    public telnetsample(String server, String username, String password , String command) { 
    try { 
// Connect to the specified server 
telnet.connect(server, 23); 

// Get input and output stream references 
in = telnet.getInputStream(); 
out = new PrintStream(telnet.getOutputStream()); 

// Log the user on 
readUntil("Username: "); 
write(username); 
readUntil("Password: "); 
write(password); 
    readUntil ("hostname"); 
    write (command); 


// Advance to a prompt 
readUntil(prompt + " "); 
} 
catch(Exception e) { 
e.printStackTrace(); 
} 
} 

это для чтения команды на терминале

public String readUntil(String pattern) { 
    try { 
char lastChar = pattern.charAt(pattern.length() - 1); 
StringBuffer sb = new StringBuffer(); 
boolean found = false; 
char ch = (char)in.read(); 
while(true) { 
    System.out.print(ch); 
    sb.append(ch); 
    if(ch == lastChar) { 
    if(sb.toString().endsWith(pattern)) { 
    return sb.toString(); 
    } 
    } 
    ch = (char)in.read(); 
} 
} 
catch(Exception e) { 
e.printStackTrace(); 
} 
return null; 
} 

для отправки команды

public void write(String value) { 
try { 
out.println(value); 
out.flush(); 
System.out.println(value); 

} 
catch(Exception e) { 
e.printStackTrace(); 
} 
} 

для ввода имени пользователя и т. Д.

 public static void main(String[] args) { 


    try { 
telnetsample telnet = new telnetsample("ip", 
        "user", 
        "password", 
      "command"); 


    } 
    catch(Exception e) { 
e.printStackTrace(); 
    } 

    System.exit(0); 
    Runtime.getRuntime().exit(0); 

    } 
} 
+0

Что такое _two_ _exit (0) _ в коде? – Jayan

ответ

0
  1. Создайте FileOutputStream в конструкторе.
  2. Только где вы делаете System.out.println() в своем коде, добавьте строку, которая записывается в выходной поток.
Смежные вопросы