如何确定网址是指文件或目录。链接http://example.com/test.txt应该返回它是http://example.com/dir/是目录
的文件我知道您可以使用Uri类执行此操作,但此对象IsFile函数仅适用于file:/// scheme。我正在使用http://方案。有什么想法吗?
谢谢
答案 0 :(得分:0)
我不确定为什么这个问题长时间没有得到解答/忽视。我在服务器端java遇到了同样的情况(估计它与Android风格类似)。唯一的输入信息是资源的URL,我们需要判断资源是目录还是文件。所以这是我的解决方案。
if ("file".equals(resourceUrl.getProtocol())
&& new File(resourceUrl.toURI()).isDirectory()) {
// it's a directory
}
希望这有助于下一位读者。
答案 1 :(得分:0)
它不起作用,因为协议将是http:// not file://。
class TestURL{
public static boolean isDirectory(URL resourceUrl){
if ("file".equals(resourceUrl.getProtocol())
&& new File(resourceUrl.toURI()).isDirectory()) {
true;
}
return false;
}
public static void main(String[] args){
System.out.println(TestURL.isDirectory("http://example.com/mydir/"));
}
}
答案 2 :(得分:0)
我认为目录http://example.com/some/dir
将重定向到http://example.com/some/dir/
,文件不会重定向。
即可以检查HEAD响应中的http Location
字段:
$ curl -I http://example.com/some/dir | grep Location
Location: http://example.com/some/dir/