我发现自己陷入困境,无法找到一种方法来检索urlpath。
我想例如从http网址检索基本网址:

http://www.test.com/somepath/path1/
base url is : test.com/somepath/path1

http://www.test.com/somepath/path1/file1.html
base url is : test.com/somepath/path1

http://www.test.com/somepath/path1/path2
base url is : test.com/somepath/path1/path2


但是在Java中,通过使用URL对象并使用getHost()和getPath()以及getFile(),我将得到以下结果:

1.
host : www.test.com (correct)
path : /somepath/path1 (correct)
file : /somepath/path1 (it should be empty but its not!)
2.
host : www.test.com (correct)
path : /somepath/path1/file1.html (incorrect)
file : /somepath/path1/file1.html (it should be file1.html)
3.
host : www.test.com (correct)
path : /somepath/path1/path2 (correct)
file : /somepath/path1/path2 (it should be empty/null)


我该如何克服这个问题?

最佳答案

url对象不知道/ path2是文件还是目录,因为如果url不以“ /”结尾,则正式地它不是目录。您可以添加其他检查来解决此问题。分割网址,然后检查最后一部分是否包含“。”。例如在“ index.html”中找到的。

代码示例

String[] urlSplt = urlStr.split("/");
if(urlSplt[urlSplt.length - 1].contains(".")){
    //URL is a file
} else{
    //url is not a file
}


祝好运!

09-17 03:22