java getResource() not working

早过忘川 提交于 2019-11-28 04:48:46

问题


this is driving me crazy. I have a NetBeans project in a folder with the following structure:

MyProject
---- build
---- src
---- resources

in src my code is in packages. What I am trying to do is to use

getClass().getResource("/resources/new.png"); 

from a class in package com.my.package but it just refuses to work! The "new.png" image is in the resources folder. Am I missing something here?

After a lot of playing around and moving the "new.png" image here and there to see when it will find the image, it finally worked but only when I put the image in the build folder. So what do I have to do to make this work ?

edit: sorry, wrong String in method parameter. Corrected now


回答1:


I'm not familiar with NetBeans, but the problem is probably that the resources folder (or the root of the project, for that matter) is not on the classpath, unlike build.

You need to configure NetBeans to add the root folder, or resources to the classpath, and load the file relative to there.

See also this question: Java - getClassLoader().getResource() driving me bonkers




回答2:


This works fine:

BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("file_name"));


来源:https://stackoverflow.com/questions/12440035/java-getresource-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!