我正在使用JSch连接到由GWT制作的网站中的SFTP.我读过的一个小例子sftpChannel.get(),sftpChannel.rename(),sftpChannel.rm()
但我找不到将文件从远程服务器a目录复制到远程服务器b目录的解决方案.
例如,我要复制文件/appl/user/home/test/temp到/appl/user/home/test/.文件名= abc.jpg.
我在这里惊呆了几个小时,因为大多数来自网络的解决方案是从远程服务器获取文件到本地,或者从本地上传文件到远程服务器.
String existingfile = "abc.jpg";
String newfile = "123.jpg";
FileDirectory = "/appl/user/home/test/";
sftp.cd(FileDirectory+"temp/");
sftp.rename(newfile, FileDirectory+newfile);
Run Code Online (Sandbox Code Playgroud)
让我们说,abc.jpg存在于/appl/user/home/test/
我上传123.jpg在/appl/user/home/test/temp/.
现在,我想移动123.jpg到/appl/user/home/test/并删除abc.jpg在/appl/user/home/test/.
我该怎么办?
似乎SftpChannel.rename();需要使用文件的完整路径而不是cd到我要移动的文件的目录.
String existingfile = "abc.jpg";
String newfile = "123.jpg";
FileDirectory = "/appl/user/home/test/";
sftp.cd(FileDirectory+"temp/");
if (sftp.get( newfile ) != null){
sftp.rename(FileDirectory + "temp/" + newfile ,
FileDirectory + newfile );
sftp.cd(FileDirectory);
sftp.rm(existingfile );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14451 次 |
| 最近记录: |