私はSFTPサーバーの初心者です。SFTP サーバーを使用してファイルをアップロードおよびダウンロードしようとしています。スタンドアロンのアプリケーションです。リモートサーバーからローカルサーバーにファイルをダウンロードしているときに、次のSFTPコードを使用して、指定されたパスの下にファイルのリストをダウンロードできました:
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) {
if(remoteFiles.get(i).isFile()) {
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);
}
}
上記のコードを使用すると、すべてのファイルがリモート ディレクトリからローカル ディレクトリにダウンロードされます。ここでは、与えられた patternに一致するリモート ディレクトリからファイルをダウンロードします。
例:Query*.txt
で始まるテキストファイルをダウンロードしたいQuery
。
上記の方法を提案してください。