我们有一个Jar文件。里面有三个文件夹:
1. 第一个是:META-INF
2. 第二个是:resources
3. 第三个是:classes
如何从classes文件夹中获取resources文件夹中的image图片呢?
1. 第一个是:META-INF
2. 第二个是:resources
3. 第三个是:classes
如何从classes文件夹中获取resources文件夹中的image图片呢?
这里有一个例子:
String path = "resources/something.png";
BufferedImage img = ImageIO.read(getClass().getClassLoader().getResource(path));
在静态上下文中执行此操作,例如在静态初始化块中:
String path = "resources/something.png";
BufferedImage img = ImageIO.read(className.class.getClassLoader().getResource(path));
你想使用 ClassLoader.getResource 或者 getResourceAsStream,这两个方法都可以让你读取存储在 JAR 文件中的文件。你可以通过 YourClass.class.getClassLoader()
来访问类加载器。查看这个问题以获取更多细节:如何加载 JAR 包中的资源