【发布时间】:2020-08-09 20:28:13
【问题描述】:
如何检查 SFTP 远程服务器中的路径是否是目录或文件,我可以检查路径是否以扩展名结尾,例如
- something/something.txt false 因为它有一个扩展名,这意味着它不是目录
- 某事/某事真实,因为它没有扩展名,这意味着它是一个目录
但从技术上讲,有些文件没有扩展名,程序会认为它是一个目录,这种方法并不是最好的,有没有另一种方法来检查路径是否是目录。我正在使用JSch 库
【问题讨论】:
如何检查 SFTP 远程服务器中的路径是否是目录或文件,我可以检查路径是否以扩展名结尾,例如
但从技术上讲,有些文件没有扩展名,程序会认为它是一个目录,这种方法并不是最好的,有没有另一种方法来检查路径是否是目录。我正在使用JSch 库
【问题讨论】:
你试过好旧的java.io.File#isDirectory()吗?还是java.nio.file.Files.isDirectory()?
很可能您可以从URL 获得File 或Path。有指定协议和主机的构造函数,如URL(String protocol, String host, int port, String file)
既然你告诉我 ChannelSftp(我不知道 JSch)。我找到了一个有帮助的方法:
stat(),您可以拨打sftpATTRS.isDir():
channel.stat(filePath).isDir()
【讨论】: