Вам нужно поместить 'lo go .jpg' в каталог 'pics' относительно root вашего CLASSPATH, иначе ClassLoader.getResource () вернет null, что приведет к NPE при попытке откройте InputStream на его основе.
Итак, используя рабочую область eclipse с этим кодом ...
import java.io.InputStream;
import java.net.URL;
public class GetResource {
public static void main(String[] args) throws Exception {
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
URL resource = classLoader.getResource("pics/logo.jpg");
System.out.println("resource is " + resource);
InputStream inputStream = resource.openStream();
System.out.println("The inputStream was not null");
}
}
Он вернет ...
resource is null
Exception in thread "main" java.lang.NullPointerException
at GetResource.main(GetResource.java:9)
если "pics / lo go .jpg" не найден относительно CLASSPATH root. Создайте файл «lo go .jpg» в нужном месте (в данном случае в папке «src / pics» проекта Eclipse, который автоматически поместит его в папку «bin / pics»), и на выходе будет ...
resource is file:/home/joe/workspace/Play/bin/pics/logo.jpg
The inputStream was not null
Обычно ресурсы объединяются внутри вашего jar-файла, поэтому файл «lo go .jpg» должен находиться в каталоге «/ pics» в root jar-файла.