检查远程服务器中的路径是否为 JSch 目录

Check if a path in remote server is a directory JSch

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

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

你试过旧的 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()