Auf Dateien innerhalb einer JAR Datei zugreifen

zer0

Erfahrenes Mitglied
Hallo,

wie ist es möglich, auf Dateien, die auch in einem Java Archiv liegen, zu zugreifen?
Welchen Pfad muss ich verwenden, habe es schon mit getResource() versucht?

Danke für die Antworten :)
 
Ich glaube, der Pfad muss "/folder/file" heißen. Kann aber nicht so schwer sein, dass herauszufinden. Die Methode liefert dir dann eine URL, die du für den Zugriff benutzen kannst.
 
Ich glaube, der Pfad muss "/folder/file" heißen. Kann aber nicht so schwer sein, dass herauszufinden. Die Methode liefert dir dann eine URL, die du für den Zugriff benutzen kannst.

Hab es so Probiert, bin auch sämtliche Varianten mit Slash und Backlash durchgegangen aber klappt nicht.

Weiß sonst jemand wie ich auf Dateien innerhalb meiner JAR zugreife?
 
Howdie.

Dafür gibts eigentlich schon einige Threads hier im Forum.... Aber so bin ich ja nicht ;)
Um auf Dateien im Jar zuzugreifen würde ich den ClassLoader benutzen. Über diesen bekommst du ein URL-Objekt, mit dem du ein File, Icon usw. laden kannst.

Beispiel mit ImageIcon:
Java:
ImageIcon myIcon = new ImageIcon(ClassLoader.getSystemResource("relativer/pfad/zum/bild.png")),

Gruß und viel Erfolg
miffi
 
Howdie.

Dafür gibts eigentlich schon einige Threads hier im Forum.... Aber so bin ich ja nicht ;)
Um auf Dateien im Jar zuzugreifen würde ich den ClassLoader benutzen. Über diesen bekommst du ein URL-Objekt, mit dem du ein File, Icon usw. laden kannst.

Beispiel mit ImageIcon:
Java:
ImageIcon myIcon = new ImageIcon(ClassLoader.getSystemResource("relativer/pfad/zum/bild.png")),

Gruß und viel Erfolg
miffi

Hmm das funktioniert, aber leider nicht so gut.

Beim schreiben auf die Datei, die mir ClassLoader.getSystemResource() zurückliefert kommt immer dieser Fehler:
Code:
file:/C:/Documents%20and%20Settings/Username/My%20Documents/Eclipse/XMLTransform/bin/de/xml/Transform/xml/Settings.xml (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)

Kennt ihn jemand von euch, bzw sieht ein Fehler?
 
Howdie.

Wenn du Dateien aus JARs öffnest, hast du nur Lesezugriff. Es ist soweit ich weiß schon möglich diese zu ändern, allerdings nur unter großem Aufwand.
In meinen Projekten halte ich es so:
Dateien mit fester Datenhaltung (wie z.B. XML-Templates, fixe Config-Dateien usw.) hab ich im JAR, den Rest halte ich im Dateisystem.

Gruß
Alex
 
Zuletzt bearbeitet:
Howdie.

Wenn du Dateien aus JARs öffnest, hast du nur Lesezugriff. Es ist soweit ich weiß schon möglich diese zu ändern, allerdings nur unter großem Aufwand.
In meinen Projekten halte ich es so:
Dateien mit fester Datenhaltung (wie z.B. XML-Templates, fixe Config-Dateien usw.) hab ich im JAR, den Rest halte ich im Dateisystem.

Gruß
Alex

Okay, gut das erklärt natürlich auch warum es klappt diese einzulesen und beim schreiben nicht. Dann werd ich das wohl umgehen und diese Dateien lediglich in den selben Ordner legen wie die .JAR

Vielen Dank! :)
 
Zurück