如何将 FTP 服务器中的 CSV 文件从一个文件夹移动到另一个文件夹?
How to move CSV file in FTP server one folder to another?
当我尝试将文件从 fileDirectory1 移动到 fileDirectory2 时.. 有什么方法可以将该文件从一个路径移动或复制到另一个 FTP server.Please 任何人都可以帮助我。
这是我的示例代码:
String existingfile = file.getFilename();
String newfile =file.getFilename();
String fileDirectory1 = clients.getFtpFolder() + "/" + "unprocessed" + "/";
String fileDirectory2 = clients.getFtpFolder() + "/" + "processed" + "/";
sftpChannel.cd(fileDirectory1);
if (sftpChannel.get(newfile) != null){
sftpChannel.rename(fileDirectory1 + newfile ,
fileDirectory2 + newfile );
sftpChannel.cd(fileDirectory2);
sftpChannel.rm(existingfile );
}
控制台:
Caused by:2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
我试过了
Move a directory in remote server to another location in the same remote server using jsch
你可以试试ChannelSftp#rename
:
sftpChannel.rename(oldPath, newPath);
请注意 oldPath
和 newPath
可以是当前远程工作目录的相对路径或绝对远程路径。
已编辑:
您似乎使用 sftpChannel.cd(fileDirectory1)
将您的工作目录更改为 fileDirectory1
并假设 newfile
在该目录中,您可以尝试使用
sftpChannel.rename(filename, destFilePath);
注意filename
是文件名,destFilePath
是目标的远程文件路径。我以前用过,效果很好。
您的代码将类似于:
sftpChannel.rename(newfile, fileDirectory2 + newfile);
在你的代码中。希望这可以帮助
当我尝试将文件从 fileDirectory1 移动到 fileDirectory2 时.. 有什么方法可以将该文件从一个路径移动或复制到另一个 FTP server.Please 任何人都可以帮助我。
这是我的示例代码:
String existingfile = file.getFilename();
String newfile =file.getFilename();
String fileDirectory1 = clients.getFtpFolder() + "/" + "unprocessed" + "/";
String fileDirectory2 = clients.getFtpFolder() + "/" + "processed" + "/";
sftpChannel.cd(fileDirectory1);
if (sftpChannel.get(newfile) != null){
sftpChannel.rename(fileDirectory1 + newfile ,
fileDirectory2 + newfile );
sftpChannel.cd(fileDirectory2);
sftpChannel.rm(existingfile );
}
控制台:
Caused by:2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
我试过了
Move a directory in remote server to another location in the same remote server using jsch
你可以试试ChannelSftp#rename
:
sftpChannel.rename(oldPath, newPath);
请注意 oldPath
和 newPath
可以是当前远程工作目录的相对路径或绝对远程路径。
已编辑:
您似乎使用 sftpChannel.cd(fileDirectory1)
将您的工作目录更改为 fileDirectory1
并假设 newfile
在该目录中,您可以尝试使用
sftpChannel.rename(filename, destFilePath);
注意filename
是文件名,destFilePath
是目标的远程文件路径。我以前用过,效果很好。
您的代码将类似于:
sftpChannel.rename(newfile, fileDirectory2 + newfile);
在你的代码中。希望这可以帮助