url.getFile()和getpath()有什么区别?

16

java.net.url中有一个 getFile() 方法和一个 getPath() 方法。

根据我的测试,它们都返回相同的结果:域名后面的完整路径和文件。例如,http://www.google.com/x/y/z.html 对于这两个方法都返回 x/y/z.html

有人可以详细解释一下Javadocs吗?

3个回答

26

URL.getFile()方法的Javadoc说:

获取此URL的文件名。返回的文件部分将与getPath()相同,加上getQuery()的值(如果有)。如果没有查询部分,则此方法和getPath()将返回相同的结果。

除非存在查询字符串(例如URL中的?somename=value&somethingelse=value2),否则它们将是相同的。


1

URL.getFile():

获取此URL的文件名。返回的文件部分将与getPath()相同,加上getQuery()的值(如果有)。如果没有查询部分,那么此方法和getPath()将返回相同的结果。

0

一般情况下,文件较长

new URL("http://www.google.com/x/y/z.html?v=1#chapter1").getFile();
// returns:  "/x/y/z.html?v=1"

,然后路径:

new URL("http://www.google.com/x/y/z.html?v=1#chapter1").getPath();
// returns:  "/x/y/z.html"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接