【问题标题】:How to get pre-filtered file list from SFTP server using SSHJ如何使用 SSHJ 从 SFTP 服务器获取预过滤的文件列表
【发布时间】:2021-04-27 09:13:23
【问题描述】:

我正在使用SSHJ SFTP library 从 SFTP 服务器获取文件列表。 与服务器的连接非常慢,目录中有数万个文件。通常获取文件列表会以各种超时/套接字错误结束。

是否有可能告诉客户端仅从例如检索文件列表。 “.zip”文件,以便对性能产生积极影响?伪命令:sftpClient.ls("*.zip")

我知道有一种方法List<RemoteResourceInfo> net.schmizz.sshj.sftp.SFTPClient.ls(String path, RemoteResourceFilter filter) 可以过滤列表,但据我了解,过滤只会发生在客户端? IE。客户端仍然会收到整个文件列表,然后它会被过滤。

有没有什么办法可以让服务器只返回请求的名称? SFTP 协议是否支持这一点?

【问题讨论】:

    标签: java sftp directory-listing sshj


    【解决方案1】:

    确实,SFTP 协议无法提供符合任何条件的文件列表。没关系,您使用的是什么 SFTP 库。

    如果您需要过滤列表,则必须使用其他接口/API。如果你有 shell 访问权限,你可以使用 shell 命令ls *.zip

    或者构建您自己的(REST?)API。

    【讨论】:

    • 好吧,听到这个消息很难过,但我确实有些期待。如果我真的需要解决这个问题,那么我想我会用你提出的 shell 访问来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多