我发现自己陷入了寻找检索 urlpath 的方法的两难境地。 我想从 http url 中检索基本 url,例如:
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 不以“/”结尾,则正式来说它不是目录。您可以添加额外的检查来解决这个问题。拆分 url 并检查最后一部分是否包含“。”例如在“index.html”中找到的。
代码示例
String[] urlSplt = urlStr.split("/");
if(urlSplt[urlSplt.length - 1].contains(".")){
//URL is a file
} else{
//url is not a file
}
祝你好运!
关于java - 查找 http URL 路径的困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551406/