Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: DeveloperTalk. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

psycho

Fortgeschrittener

  • »psycho« ist der Autor dieses Themas

Beiträge: 413

Registrierungsdatum: 26.06.2011

Danksagungen: 80

  • Private Nachricht senden

1

29.03.2013, 16:19

Problem mit getRessource aus Jar

Hey Leute...

Ich bin gerade dabei mein Programm fertig zu machen.
Problem ist folgendes:

Ich habe mehrere txt-Dateien in einem Ordner.
Wenn ich das ganze über Ecplise starte geht auch alles, sobald ich die jar-Datei exportiere funktioniert es nicht mehr.

Ich lade die Datei folgendermaßen:

Java-Quelltext

1
new File((getClass().getClassLoader().getResource("ressource/text.txt")).toURI())


Wenn ich das Programm starte bekomme ich nur eine Illegal Argument Exception und uri is not hierarchical.

Jemand eine Idee? ;)

Die Dateien liegen aber in der fertiger jar-Datei. Nur er findet sie nicht.

Habe schon im Internet gesucht, aber keine Lösung gefunden...

EDIT:

Ich habe das ganze nochmal über die Konsole gestartet und mir den Pfad ausgeben lassen..
Dabei fehlte bei der jar Datei im Pfad das bin zwischen C:/test/programm.jar!/ressource <-> C:/test/programm.jar!/bin/ressource.
Computer sind dazu da, uns die Arbeit zu
erleichtern, die wir ohne sie gar nicht hätten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »psycho« (29.03.2013, 16:30)


psycho

Fortgeschrittener

  • »psycho« ist der Autor dieses Themas

Beiträge: 413

Registrierungsdatum: 26.06.2011

Danksagungen: 80

  • Private Nachricht senden

2

29.03.2013, 16:56

Okay habe selber die Lösung nach langem Suchen gefunden...

File Objekt aus Jar geht, sodass man statt getRessource, getRessourceAsStream verwenden muss.
Computer sind dazu da, uns die Arbeit zu
erleichtern, die wir ohne sie gar nicht hätten.

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

3

29.03.2013, 19:40

funktioniert auch mit getResource...
hab den code aus einem älteren projekt:

happySmiley = new ImageIcon(this.getClass().getResource("/res/happy.png"));

funtkioniert sowohl aus dem ordner, als auch aus der jar...
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

Johannes S.

Fortgeschrittener

Beiträge: 444

Registrierungsdatum: 24.06.2011

Wohnort: Lychen

Danksagungen: 71

  • Private Nachricht senden

4

29.03.2013, 20:20

Das Problem ist, dass "File" eine Datei oder einen Ordner representiert und wenn die Daten in der JAR enthalten sind, sind sie keine Datei und auch keine Ordner. Die URI representiert keinen gültigen Pfad zu einer Datei oder einerm Ordner und daher die "IllegalArgumentException". Statdessen kann man den viel einfacheren Weg über getResourceAsStream nutzen, wie ihr ja bereits festgestellt habt :)
Signatur ?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Johannes S.« (29.03.2013, 21:42)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Erik (29.03.2013)

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

5

29.03.2013, 20:57

aso ja... in endeffekt will man die datei ja auch net als File, sondern sie einlesen :D
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

Ähnliche Themen