我怎么能发送到腻子用java命令? 我必须使用腻子。 我的意思是发送指令到腻子窗口,例如Java应该向腻子窗口发送“ls -l”。
回答
如果你只是需要这个SSH检查:Jcraft的jsch:http://www.jcraft.com/jsch/
要使用腻子从Java™,你需要使用腻子的(命令行)链接砰砰。你可以从Putty的下载页面得到这个:Putty Download Page
你将需要运行putty.exe来配置一个会话(在我的例子中我做了一个配置文件名“profile”)。然后您可以加载会话并发送/接收信息。不要忘记确保您同时检查标准输入流和错误输入流。
为了确保您能够从Java运行它™,你可能需要做的三两件事之一:
- 将putty.exe和plink.exe如C的地方:\ WINDOWS \
- 将putty.exe和plink.exe放在一个文件夹中,并将该文件夹添加到系统环境(推荐方法)。
- 将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();
}
希望这可以帮助那些对快速建立Java快速Putty感兴趣的人。这也是获得串口通信而不需要本地驱动程序等的好方法(尽管功能有限)。
您能否详细说明为什么需要'Thread.sleep(1000)'? – 2017-04-06 13:51:49
Thread.sleep(1000)
需要给运行时环境一些时间获取输出流。 –
2017-04-07 06:34:22
如果我不使用输出流,我不需要睡眠权吗? – 2017-04-07 07:55:36
你不要必须使用腻子。使用java库连接到SSH会好得多。有关针对SSH的Java库的讨论,请参阅SSH library for Java。
- 1. 如何发送像腻子一样的telnet命令呢?
- 2. 问题执行砰砰(腻子)命令
- 3. 发送数据到腻子在powershell
- 4. 用Java发送命令到设备
- 5. Bash命令发送电子邮件
- 6. Tibco发送命令
- 7. Python发送命令
- 8. 腻子在MySQL
- 9. 腻子/ SSH:我如何得到我的命令行?
- 10. 使用Java和AT命令发送短信
- 11. SSM发送命令失败
- 12. 与TortoiseSVN和腻子问题
- 13. C#发送VNC命令
- 14. IRC - 编程发送命令
- 15. 发送命令到进程
- 16. 从命令行发送值?
- 17. 发送多媒体命令
- 18. 通过VBA发送命令
- 19. 需要使用RAutomation.send_keys发送破折号字符内腻子
- 20. 向stdin发送命令并发送发送结束(Ctrl + D)
- 21. 腻子 - 在Windows
- 22. Java和exec命令 - 管多个命令
- 23. 发送命令确认Windows控制台
- 24. Python:ArgParse与主命令和子命令
- 25. 向浏览器发送命令
- 26. jenkins-cli.jar mail命令从Windows命令提示符发送邮件
- 27. 使用原始HTTP(腻子)
- 28. 端口转发与腻子(隧道)
- 29. 如何发送备份或恢复命令到命令窗口
- 30. 发送命令到后台作业stdin
你需要SSH吗? – 2011-04-28 11:22:03
你的意思是发送击键到腻子窗口?或者你的意思是使用Java来建立SSL/SSH连接?或者你的意思是使用putty打开一个ssh隧道,然后从java连接到那个隧道? – Liv 2011-04-28 11:22:22