getResource 使用 java 1.7 windows 7 在磁盘名称之前放置一个前导 /

2022-09-02 03:40:43

下面给出了磁盘名称前的前导斜杠。我该如何避免这种情况?

String pngpath = getClass().getResource("/resources/image.png").getPath();
System.out.println("pngpath = "+pngpath);

给:

pngpath = /C:/Users/jgrimsdale/Documents/NetBeansProjects/HelloCV/build/classes/resources/image.png

答案 1

用:

String pngpath = getClass().getResource("/resources/image.png").getFile();
File file = new File(pngpath);
System.out.println(file.getAbsolutePath());

答案 2

File(uri) 或 File(string) 的构造函数有助于从系统依赖路径字符串或 URI 对象中获取文件对象。

它是使用 Java 库的解决方案。

System.out.println(new File("/C:/Users/jgrimsdale").toString())

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#File(java.net.URI)


推荐