16

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

在我的测试中,它们都返回相同的结果:域名斜杠后的完整路径和文件。

例如,两种方法都http://www.google.com/x/y/z.html返回x/y/z.html

有人可以详细说明 Javadocs 吗?

4

3 回答 3

26

URL.getFile()javadocs这样说:

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

除非有查询字符串,例如?somename=value&somethingelse=value2URL 中的 a,否则它们将是相同的。

于 2012-08-13T04:29:28.467 回答
1

URL.getFile()

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

于 2012-08-13T04:48:17.387 回答
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"
于 2020-05-12T20:36:20.557 回答