检查网址是否引用文件或目录。(HTTP)

use*_*247 6 java url android file

如何确定url是否指向文件或目录。链接http://example.com/test.txt应该返回它是一个文件,而http://example.com/dir/是一个目录

我知道您可以使用Uri类执行此操作,但是此对象IsFile函数仅适用于file:///方案。我正在使用http://方案。有任何想法吗?

谢谢

coo*_*ort 4

我不知道为什么这个问题长期以来没有得到解答/被忽视。我在服务器端java中遇到了同样的情况(估计Android风格也会类似)。唯一的输入信息是资源的 URL,我们需要判断资源是目录还是文件。这是我的解决方案。

if ("file".equals(resourceUrl.getProtocol())
    && new File(resourceUrl.toURI()).isDirectory()) {
    // it's a directory
}
Run Code Online (Sandbox Code Playgroud)

希望这对下一位读者有所帮助。

注意:请参阅@awwsmm 评论。这是我在提供上述答案时的假设。基本上,测试远程资源是否是目录或其他内容是没有意义的。完全由站点决定为每个请求返回什么。