当前位置: 首页 > 面试题库 >

如何将文件从目录A移动到远程服务器中的目录B?

百里嘉泽
2023-03-14
问题内容

我正在使用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);

假设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 );
}


 类似资料: