2

サーバーに telnet で接続し、コマンドを実行して、そのコマンドの出力をファイルに出力しようとしています。ファイルでコマンドを取得できますが、このコマンドの結果は取得できません。コンソールにも出力が表示されないため、実行されると想定しましたが、よくわかりません。誰にもアイデアはありますか?

public final static void main(String[] args) throws IOException, InterruptedException
{
    FileOutputStream fout = null;

    try
    {
        fout = new FileOutputStream ("spyfile.log");
    }
    catch (IOException e)
    {
        System.err.println(
            "Exception while opening the spy file: "
            + e.getMessage());
    }


    TelnetClient telnet;

    telnet = new TelnetClient();

    try
    {

        telnet.connect("myserver", 23);
    }
    catch (IOException e)
    {
        e.printStackTrace();
        System.exit(1);
    }

    telnet.registerSpyStream(fout);
    PrintStream out = new PrintStream( telnet.getOutputStream() );
    out.println( "mycommand" );     

    try
    {
        telnet.disconnect();
    }
    catch (IOException e)
    {
        e.printStackTrace();
        System.exit(1);
    }

   fout.close();
    System.exit(0);  
}
4

1 に答える 1

0

TelneClient とは何かわかりません。これがCommons Netクラスの場合、telnet セッション中に交換されたデータを実際に読み取る部分がありません。この例を実行して、それがどのように機能するかを確認してください。取得したら、必要に応じて切り取ることができます。

于 2013-04-06T08:56:49.813 に答える