前言
众所周知,对新手来说,加载图片涉及到的路径之类的,都是最让人头疼的东西。
有时候只是一个简简单单的文件路径,就能让人恶心一整天。因此,我对加载文件路径最常用的两种方法(分别是class.getClassLoder().getResource(fileName)和class…getResource(fileName))做出了测试。采用的是jdk17.
我的文件路径是放在Maven项目resource根目录下的(编译后也就是classes目录下),icon下有两张图片。
测试结果如下:
class…getResource(fileName):
输出:
然后使用class.getClassLoder().getResource(fileName)测试:
代码:
System.out.println(CateringSystem.class.getClassLoader().getResource("/icon/1.jpg"));
System.out.println(CateringSystem.class.getClassLoader().getResource("./icon/1.jpg"));
System.out.println(CateringSystem.class.getClassLoader().getResource("icon/1.jpg"));
System.out.println(CateringSystem.class.getClassLoader().getResource(""));
System.out.println(CateringSystem.class.getClassLoader().getResource("/"));
结果:
结论
推荐使用class.getResource()方法来获取文件路径。
文件名前加入’/‘,表示绝对路径(classes目录下)。
不加‘/’,表示类目录下。
不推荐:class.getClassLoder().getResource(fileName)
虽然不知道是我的测试出了问题还是jdk版本原因,使用classloder()根本无法加载文件路径。
总之,图省事的话,别用classLoder()就好。