Java和putty - 发送命令

Woj*_*and 3 java putty

可能重复:
如何向putty发送命令

如何使用java向putty发送命令?我必须使用Putty.我的意思是向putty窗口发送命令,例如Java应该将"ls -l"发送到putty窗口.

Osm*_*cis 6

要使用Java™中的Putty,您需要使用Putty(命令行)链接PLink.你可以从Putty的下载页面获取这个:Putty下载页面

您将需要运行putty.exe来配置会话(在示例中,我创建了一个配置文件名称"profile").然后,您可以加载会话并发送/接收信息.不要忘记确保检查标准和错误输入流.

要确保您可以从Java™运行它,您可能需要执行以下三项操作之一:

  1. 将putty.exe和plink.exe放在像C:\ Windows \的地方
  2. 将putty.exe和plink.exe放在一个文件夹中,并将该文件夹添加到系统环境中(推荐方法).
  3. 将putty.exe和plink.exe放在与Java™应用程序相同的文件夹中,并确保正确引用它.

这是示例代码.

try {
    String command = "plink -load profile";

    Runtime r = Runtime.getRuntime ();
    Process p = r.exec (command);
    std = p.getInputStream ();
    out = p.getOutputStream ();
    err = p.getErrorStream ();

    out.write ("ls -l\n".getBytes ());
    out.flush ();

    Thread.sleep (1000);

    int value = 0;
    if (std.available () > 0) {
        System.out.println ("STD:");
        value = std.read ();
        System.out.print ((char) value);

        while (std.available () > 0) {
            value = std.read ();
            System.out.print ((char) value);
        }
    }

    if (err.available () > 0) {
        System.out.println ("ERR:");
        value = err.read ();
        System.out.print ((char) value);

        while (err.available () > 0) {
            value = err.read ();
            System.out.print ((char) value);
        }
    }

    p.destroy ();
}
catch (Exception e) {
    e.printStackTrace ();
}
Run Code Online (Sandbox Code Playgroud)

希望这有助于那些对快速设置Java快速Putty感兴趣的人.它也是获得串口通信而不需要本机驱动程序等的好方法(虽然功能有限).