gpt4 book ai didi

java - 如何使用 SFTPClient 从远程服务器下载特定文件?

转载 作者:行者123 更新时间:2023-11-30 11:32:02 26 4
gpt4 key购买 nike

我是 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);
}
}

通过使用上面的代码,它将所有文件从远程目录下载到本地目录。在这里,我想从远程目录下载匹配给定模式的文件。

例如模式:Query*.txt

我想下载以查询开头的文本文件

请建议如何执行上述操作。

最佳答案

你试过这个吗?

if (remoteFile.endsWith(".txt")) {
sftp.get(remoteFile);
}

但是您可以使用某种正则表达式根据您要评估的模式来验证文件名是否有效

关于java - 如何使用 SFTPClient 从远程服务器下载特定文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com