【发布时间】:2016-04-15 13:26:12
【问题描述】:
java.net.URL 对象的getFile() 和getPath() 有什么区别?
【问题讨论】:
java.net.URL 对象的getFile() 和getPath() 有什么区别?
【问题讨论】:
来自 Javadoc https://docs.oracle.com/javase/8/docs/api/java/net/URL.html
公共字符串getFile()
获取此 URL 的文件名。返回的文件部分将与 getPath() 相同,加上 getQuery() 值的串联(如果有)。如果没有查询部分,此方法和 getPath() 将返回相同的结果。
所以 getPath() 可能是
/path/file.php
getFile() 可能是
/path/file.php?query=hello
【讨论】:
getFile() 将返回文件名:
MyFile.txt
getPath() 返回文件的路径:
C:/MyFolder/MyFile.txt
【讨论】:
URL u = new URL("http", "blub.com", 123, "test/sub/blub.txt?opt=1"); System.out.println(u.getFile()); System.out.println(u.getPath());。即使你使用u = new File("blub.txt").toURL(),你也会得到这个结果。