# getClass() getResource() - Relativer Pfad zu anderem Ordner



## ascawath (2. April 2014)

Hallo liebe Community!

Ich versuche bei Java eine Datei (ein Bild) zu laden mittels getClass().getResource().
Der Ordner der Datei liegt allerdings außerhalb des bin Ordners:
Projekt
      ->bin->.class
      ->image->icon.jpg

Ist es möglich, das Bild trotzdem reinzuladen?
Momentan bekomme ich mit diesem Code

```
ImageIcon icon = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("/image/icon.jpg")));
```
 folgende Fehlermeldung: 
	
	
	



```
Uncaught error fetching image:
java.lang.NullPointerException
	at sun.awt.image.URLImageSource.getConnection(Unknown Source)
	at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
	at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
	at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
	at sun.awt.image.ImageFetcher.run(Unknown Source)
```

Überprüft habe ich das schon mit 
	
	
	



```
System.out.println();
```
, da kommt immer *null* raus.

Ich hoffe, ihr könnt mir helfen 

Danke im Voraus!


----------



## Fabio Hellmann (2. April 2014)

Hi ascawath,
normalerweise ist es so, dass du getClass().getResource() nur auf Package-Ebene verwendest. Sprich, wenn du z.B. eine Text-, Bild-Datei laden willst, die in einem Package liegt.
Da du aber deine Bilddateien außerhalb von Packages liegen hast, brauchst du diesen Aufwand nicht betreiben. Du kannst direkt den Pfad zum Laden deines Bildes - als Ausgang vom Projektverzeichniss - angeben.

```
ImageIcon icon = new ImageIcon(Toolkit.getDefaultToolkit().getImage("/image/icon.jpg"));
```
Beachte aber, dass deine Bild-Dateien nicht mit in die Jar-Datei gepackt werden, wenn sie außerhalb von den Packages liegen. Diese müssen dann - zum Funktionieren des Programms - im gleichen Ordner wie die Jar-Datei liegen bzw. in der angegebenen Ordnerstruktur. Das würde bei dir bedeuten:
a/b/c/Pfad/
+ Jar-Datei​image/​+ icon.jpg​
Viele Grüße
Fabio


----------



## ascawath (3. April 2014)

Hallo Fabio !

Vielen Dank 

Hätte ich das gewusst, hätte ich die direkt darein geladen

MfG Ascawath


----------

