Frage von Bohne999, 13

Wie benutze ich in Java Input Streams korrekt, sodass in der fertigen .jar Datei meine Bilddateien gefunden werden?

Ich habe in meinem Programm Bilddateien eingefügt. Diese liegen in meinem package (liegen sie dort richtig oder wo gehören sie hin?). Wenn ich die .jar Datei starte werden meine Bilder nicht mehr gefunden. Also wie benutze ich getClass().getResource(...) richtig, damit ich diese Dateien finde?

Antwort
von androhecker, 12

Du brauchst einen Resource Ordner, welchen du in deinem Build Tool als diesem markierst. Dann werden alle Dateien und Ordner in diesem in das Hauptverzeichnis der Jar kopiert. Diese erreichst du dann mit /Ordner1/Ordner2/Datei je nach dem wo die Datei in dem Ordner liegt.

Antwort
von MrNevio007, 8

Du musst (jetzt bei Beispielsweiße Eclipse, aber das Prinzip ist das selbe) dem Buildpath einen zweiten Source ordner zuweisen. (Rechtsklick auf Projekt => Build Path => New Source Folder.. => Gibst ihn ein Name [Typischerweise wird "res" für Resources genutzt]). Dann kannst du dort deine Dateien ablegen und auf diese mit folgendem Quellcode zugreifen:

Klasse.class.getResourceAsStream(String)

"Klasse" ist in dem Fall die Klasse in der du die methode aufrufst. Zum Beispiel wenn eine Datei namens "grafik.png" in einem Unterordner namens "assets" abgespeichert hast, dann würde der Aufruf so aussehen:

Klasse.class.getResourceAsStream("/assets/grafik.png");

Ich hoffe ich konnte dir helfen :)

Kommentar von Bohne999 ,

Danke hat mir sehr geholfen! Hab endlich mal verstanden wie das richtig anwendet :D Lob an dich ;)

Kommentar von MrNevio007 ,

Kein Problem, das hat mir am Anfang auch ziemlich den Kopf zerrissen :D

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten