java - 在 while 循环中将文件同步到服务器

标签 java cmd sftp scp

我有一个 while 循环,它在 while 循环中附加数据,并且每次在循环结束前关闭。是否可以在我关闭文件之后和结束循环之前将该文件同步到服务器?

//--- Pseudocode
while(1){
    writer.append(data1);
    writer.append(,);
    writer.append(data2);
    writer.append(,);
    writer.flush(),
    // --I need to run a command here that lets me sync the file to the server
}

我在刷新后尝试运行 Runtime.exe()。那会是个好主意吗?会不会造成延迟?

最佳答案

如果我正确理解你的问题,你应该使用 ProcessBuilder .

ProcessBuilder pb = new ProcessBuilder("scp", yourfileName, "user@host.example.com:/remote/folder");
Process p = pb.start();

但是我没有测试过这段代码。

您可能会遇到问题,例如:

  • 如果您使用密码(而不是公钥)进行身份验证,我不知道 scp 是否接受来自标准输入的密码。

关于java - 在 while 循环中将文件同步到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9742594/

相关文章:

java - 如何测试 vector 中找到的元素?

java - Axis 代理连接超时: connect

shell - 重定向命令输出

java - OrientDB Java jdbc 抛出 MethodNotFound

java - Android Studio 64位找不到JDK

regex - CMD:尝试使用正则表达式从文件中获取子字符串

c++ - cmd内存使用情况

ssh - 如何通过两个 ssh "points"使用 SSH 文件传输协议(protocol)客户端(Cyber​​duck)

java - 为什么这个 SSH 客户端使用 "zDonez"?

GitLab-CI:无法再使用 lftp 进行部署