ファイルのダウンロードとアップロードにSFTPClientを使用しています。ここでの要件は、リモート サーバーからのダウンロード中に、同じサーバーのアーカイブ フォルダーにファイルを移動するために必要です。以下の名前を使用して名前を変更するオプションがあることはわかっています-: **
SFTPClient.rename(ファイル名,destinationPath)
. 同じことを試しましたが、次の例外が発生しています: **コード:
try {
sftp.lcd(details.get("LOCAL_DIR"));
sftp.cd(details.get("REMOTE_DIR"));
List<SftpFile> remoteFiles = sftp.ls();
for(int i = 0 ; i < remoteFiles.size(); ++i) {
String patternFile = remoteFiles.get(i).getFilename().toUpperCase();
// System.out.println(patternFile);
// System.out.println("Files Format"+patternFile+"***************"+patternFile.matches(details.get("DOWNLOAD_PATTERN")));
if(remoteFiles.get(i).isFile() && patternFile.matches(details.get("DOWNLOAD_PATTERN"))) {
String remoteFile = remoteFiles.get(i).getFilename();
sftp.get(remoteFile);
System.out.println("[SFTPOperations][downLoad] Downloaded: " + remoteFile);
System.out.println("Remote File: " + remoteFile);
System.out.println("Remote Archive Dir: " + details.get("REMOTE_ARCHIVE_DIR"));
sftp.rename(remoteFiles.get(i).getFilename(), details.get("REMOTE_ARCHIVE_DIR"));
System.out.println("[SFTPOperations][downLoad] Archived: " + remoteFile);
}
}
} catch(IOException e) {
System.out.println("[SFTPOperations][downLoad] IOException occurred: " + e.getMessage());
System.out.println("[SFTPOperations][downLoad] Failed to download from " + details.get("REMOTE_DIR"));
e.printStackTrace(System.out);
throw new SFTPException(e.getMessage());
}
例外:
[6 月 4 日 10:57:58] [SFTPOperations][downLoad] IOException が発生しました: 失敗 [6 月 4 日 10:57:58] [SFTPOperations][downLoad] /home/cordys/CryptoTest/INGInput java.io からのダウンロードに失敗しました。 IOException: 失敗 [6 月 4 日 10:57:58] com.sshtools.j2ssh.sftp.SftpSubsystemClient.getOKRequestStatus(不明なソース) [6 月 4 日 10:57:58] com.sshtools.j2ssh.sftp.SftpSubsystemClient.renameFile(不明なソース) [6 月 4 日 10:57:58] com.sshtools.j2ssh.SftpClient.rename (不明なソース) [6 月 4 日 10:57:58] com.ing.sftp.SFTPOperations.downLoad(SFTPOperations.java: 82) [6 月 4 日 10:57:58] com.ing.schedular.INGCryptoSchedular.downloadEncFiles(INGCryptoSchedular.java:207) [6 月 4 日 10:57:58] com.ing.schedular.INGCryptoSchedular.download(INGCryptoSchedular. java:187) [6 月 4 日 10:57:58] com.ing.schedular で。INGCryptoSchedular.schedule(INGCryptoSchedular.java:83) [6 月 4 日 10:57:58] com.ing.schedular.INGCryptoSchedular.main(INGCryptoSchedular.java:294) で
上記の解決方法を教えてください。