0

私はすでに 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);

  }
 }
4

1 に答える 1

0
  1. コンストラクタでa を作成しますFileOutputStream
  2. コード内で行っている場所System.out.println()に、出力ストリームに書き込む行を追加します。
于 2013-09-11T06:12:01.957 に答える