如何解决如何使用 SSHJ 从 SFTP 服务器获取预先过滤的文件列表
我正在使用 SSHJ SFTP library 从 SFTP 服务器获取文件列表。 与服务器的连接非常慢,目录中有数以万计的文件。通常获取文件列表会以各种超时/套接字错误结束。
是否有可能告诉客户端仅从例如检索文件列表。 “.zip”文件,以便它对性能产生积极影响?伪命令:sftpClient.ls("*.zip")
我知道有一种方法 List<RemoteResourceInfo> net.schmizz.sshj.sftp.SFTPClient.ls(String path,RemoteResourceFilter filter)
可以过滤列表,但据我所知,过滤只会发生在客户端? IE。客户端仍然会收到整个文件列表,然后就会被过滤。
有什么办法可以让服务器只返回请求的名称? SFTP 协议甚至支持这个吗?
解决方法
事实上,SFTP 协议无法提供符合任何条件的文件列表。没关系,您使用的是什么 SFTP 库。
如果您需要过滤列表,则必须使用其他接口/API。如果您有 shell 访问权限,则可以使用 shell 命令 ls *.zip
。
或者构建您自己的(REST?)API。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。