# Einbinden von externen Dateien in Eclipse



## Nimlot (8. Jul 2008)

Ich habe ein Eclipse-Java-Projekt und möchte dort gerne externe Dateien (Bilder und Sounddateien) integrieren, um diese dann später in meinem Programm zu nutzen.

Leider sind meine Bemühungen bis jetzt erfolglos geblieben.

Ich habe im Eclipse-Projekt einen neuen Ordner angelegt und dort eine Sound-Datei vom FileSystem verlinkt.

Nur wenn ich jetzt den Sound abspielen will geht es nicht mit dem Pfad "Projekt/sound/sound.wav"


Weiß jemand woran das liegen könnte?
Wenn ich den absoluten Pfad im Quelltext setze (also c:/....) wird der Sound abgespielt. Ich möchte jedoch eine relative Pfadangabe zum Projekt, so dass es auch funktioniert wenn ich das ganze Projekt als JAR exportiere und mit dem Soundfolder irgendwo hin verschiebe.


----------



## tfa (8. Jul 2008)

Ist das Verzeichnis im Klassenpfad?
Wie greifst du auf die Datei zu?


----------



## Nimlot (8. Jul 2008)

Ich hab den ganzen Sound-Ordner unter

Project --> Properties --> Source --> Add Folder hinzugefügt.


Der Zugriff erfolgt bei mit über

File sourceFile = new File( Projectname/sound/sound.wav );


----------



## tfa (8. Jul 2008)

Lass mal "Projectname" weg. Oder versuch es über den Classloader:

```
getClass().getResource("/sound/sound.wav")
```


----------



## Guest (8. Jul 2008)

Klappt leider auch nicht. 

Ich habs ohne Projektname und über den ClassLoader probiert.


```
String path = ClassLoader.getSystemClassLoader().getResource("sound/sound.wav").toString();
```

Hier bringt er mir

Exception in thread "main" java.lang.ExceptionInInitializerError


----------



## tfa (8. Jul 2008)

Was bekommst du bei

```
getClass().getResource("/sound/sound.wav")
```
?
Der / am Anfang ist wichtig.


----------



## Wildcard (8. Jul 2008)

Wenn 'sound' ein Sourcefolder ist, dann ist es nicht auch gleichzeitig ein Package und trägt daher auch nicht zum vollqualifizierten Namen der Resource bei. Korrekt also (je nach Methode) ist (/)sound.wav.


----------



## Nimlot (8. Jul 2008)

Ich bekomm dann einfach null

Also mit 


```
URL url = getClass().getResource("/sound/sound.wav");
		if( !(url instanceof URL) ) {
			System.out.println( "Null");
		}
else {
 String path = url.toString();
```

bringt er mir immer eine null-Referenz zurück


----------



## tfa (8. Jul 2008)

Hast du es nur mit "/sound.wav" versucht?


----------



## Nimlot (8. Jul 2008)

Ja, aber da bekomm ich leider auch nur ne null zurück


----------

