【问题标题】:Check if a path in remote server is a directory JSch检查远程服务器中的路径是否为目录 JSch
【发布时间】:2020-08-09 20:28:13
【问题描述】:

如何检查 SFTP 远程服务器中的路径是否是目录或文件,我可以检查路径是否以扩展名结尾,例如

  • something/something.txt false 因为它有一个扩展名,这意味着它不是目录
  • 某事/某事真实,因为它没有扩展名,这意味着它是一个目录

但从技术上讲,有些文件没有扩展名,程序会认为它是一个目录,这种方法并不是最好的,有没有另一种方法来检查路径是否是目录。我正在使用JSch

【问题讨论】:

    标签: java sftp jsch


    【解决方案1】:

    你试过好旧的java.io.File#isDirectory()吗?还是java.nio.file.Files.isDirectory()

    很可能您可以从URL 获得FilePath。有指定协议和主机的构造函数,如URL​(String protocol, String host, int port, String file)


    既然你告诉我 ChannelSftp(我不知道 JSch)。我找到了一个有帮助的方法: stat(),您可以拨打sftpATTRS.isDir()

    channel.stat(filePath).isDir()

    【讨论】:

    • 这就是我的想法,但是 ChannelSftp 没有 isDirectory 方法(或类似的方法),我不知道如何在远程服务器中获取路径的 File 实例编辑:嗯也许那是可能的
    • 好的,我会读一些关于 stat() 的文章并尝试使用它,感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2013-08-14
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2016-09-10
    • 2015-06-20
    相关资源
    最近更新 更多