我想要以下列形式的资源的网址
C:/用户/.../构建/类/果酱/ lena1.png
为实现这一目标,我编写了以下代码
System.out.println(getClass().getResource("lena1.png").getPath());
但它返回
/ C:/用户/.../构建/类/果酱/ lena1.png
为什么额外的正斜杠出现在网址之前?
答案 0 :(得分:3)
注意Class.getResource()返回 URL ,而 URL 不仅是文件路径:URL涉及协议,a主机,端口和路径。它有自己的符号和格式。
根据RFC2396,您在示例中获得的是网址的路径部分,路径始终以斜杠开头。
如果您想从URL获取文件,可以使用new File(url.toURI())
...假设输入URL实际上引用了本地文件路径。
答案 1 :(得分:1)
因为它是一个URL,而不是文件名。
问题本身很奇怪。您关心URL的路径是什么?
答案 2 :(得分:-1)
前导斜杠表示类路径的根。试试这个:System.out.println(getClass().getResource("/lena1.png").getPath());
答案 3 :(得分:-1)
使用此
String s = (getClass().getResource("lena1.png").getPath()).substring(1);
System.out.println(s);