当前位置: 首页 > 知识库问答 >
问题:

使用JSch ChannelSFTP:如何列出不区分路径大小写的文件

廉展鹏
2023-03-14

我想要的文件名为file1.txt file2.txt file3.txt

当我将fileMask作为文件传递时,我想列出所有三个文件。基本上,我希望使用channel.ls(path+fileMask、selector)进行不区分大小写的搜索

共有1个答案

谷梁嘉悦
2023-03-14

要搜索sftp位置中的特定文件,只需执行以下操作:

    remoteFileName = "fileName_[0-9]{08}.txt"
    try {
        ChannelSftp channelSftp = setupJsch();
        channelSftp.connect();
        Vector ls = channelSftp.ls(remoteFilePath);
        Pattern pattern = Pattern.compile(remoteFileName,  Pattern.CASE_INSENSITIVE);
        for (Object entry : ls) {
            ChannelSftp.LsEntry e = (ChannelSftp.LsEntry) entry;
            Matcher m = pattern.matcher(e.getFilename());
            if (m.matches()) {
                //Do something
                channelSftp.get(remoteFilePath + e.getFilename(), getLocalFileDir());
                channelSftp.exit(); //If you want to search for multiple files then do not terminate the connection here
            }
        }
    } catch (JSchException jSchException) {
        LOGGER.info("File download failed :", jSchException);
    } catch (SftpException sftpException) {
        LOGGER.info("File download failed :", sftpException);
    }
 类似资料:
  • 问题内容: 默认情况下,单词“ Word”和“ word”不相同。如何使Lucene不区分大小写? 问题答案: 最简单的方法是降低所有可搜索的内容以及查询的大小写。请参阅 文档。您也可以将查询用于不区分大小写的搜索,因为它绕过了。 如果需要,您可以将内容存储在不同的字段中以捕获不同的案例配置。

  • 问题内容: 如何更改strpos以使其不区分大小写。原因是如果的名称是 MadBike ,而搜索字词是 bike ,则该链接不会向我显示。我主要关心的是代码的速度。 问题答案: 您正在寻找 如果您无法使用该功能,则只需先调用两个字符串即可。 编辑 : 如果要查找带有变音符号的子字符串,将无法正常工作。 例如: 返回,但应该返回。

  • 考虑: 我试图在每边只显示100个字符,中间是搜索字符串。 这段代码实际上可以工作,但它是区分大小写的。如何使其不区分大小写?

  • 我有一个SQL2查询,用于搜索特定路径的后代节点: 我可以写这个条件,使路径不区分大小写吗?例如,如果我有: 这些节点仍然可以在“/etc/commerce/products/welzijnswinkel/welzijnswinkel/nl/hobby en vrije tijd”下找到。

  • 问题内容: 给定此目录树: 编译file.cpp与VS一起使用,在gcc中失败。 标准怎么说? 如果路径区分大小写,这为什么明智? 最佳实践是什么,将所有文件/文件夹名都小写,并在包含时做同样的事情? 谢谢。 问题答案: 区分大小写取决于操作系统。Windows不区分大小写。Linux是。 编辑: 实际上,正如MartinYork的评论所观察到的,区分大小写取决于文件系统。默认情况下,Window

  • 问题内容: 考虑: 我正在尝试仅在每边显示100个字符,并在中间显示搜索字符串。 该代码实际上有效,但是区分大小写。如何使其不区分大小写? 问题答案: 只需 在定界符后添加修饰符即可: 如果 设置了修饰符,则模式中的字母将同时匹配大写和小写字母。