我有要在Java程序中运行的rsync命令...我面临的问题是rsync需要输入密码,而我不理解如何将此密码传递给rsync命令才能正常工作?

最佳答案

我将发布此代码示例:

Process rsyncProc = Runtime.exec ("rsync");
OutputStreanm rsyncStdIn = rsyncProv.getOutputStream ();
rsyncStdIn.write ("password".getBytes ());


但是Vineet Reynolds领先于我。

正如Vineet Reynolds指出的那样,使用这种方法将需要附加的代码来检测rsync何时需要密码。因此,使用外部密码文件似乎是一种更简单的方法。

P.S .:可能存在与编码有关的问题,可以通过使用here所述的适当编码将字符串转换为字节数组来解决。

P.P.S .:看来我还不能发表评论,所以我不得不发表一个新答案。

关于java - 流程运行时传递输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7456613/

10-12 17:07
查看更多