Resourcen aus jar-Archiv einbeziehen
-
Wenn ich irgendeine Datei (Grafik, Sound, Textdatei usw. also eine Resource) in meinem jar-Archiv habe und von einer Klasse auf diese Datei zugreifen möchte, wie kann ich die Resource dann so "verarbeiten" daß ich sie in eine Methode ala openFile(String FileName) oder openFile(File file) einsetzen kann?
Wie krieg ich also einen String oder ein File von der Resource? Wie man eine URL kriegt weiß ich(getClass().getResource(ResourceName) ) , aber wie komm ich von der URL zum Beispiel auf ein File?Danke schonnmal!
-
Original erstellt von <Steve>:
**aber wie komm ich von der URL zum Beispiel auf ein File?
**In einer Jar-Datei garnicht! Wenn das aber nicht in einer Jar-Datei ist, dann kannst du mit der URL eine URI erzeugen und damit ein File. ...aber wie schon gesagt: In einer Jar-Datei klappt das nicht.
Da müßtest du dir selbst was programmieren. Das sollte auch schaffbar sein, ähnliches habe ich auch schon gemacht.
Anders sieht es aus, wenn es sich um eine Datei handelt, die Java von sich aus laden kann. Du kannst mit ImageIO zum Beispiel Bilder laden, von denen du nur die URL hast. ...entsprechend müßtest du gucken, ob man deine Resource auch mit ner URL laden kann.
-
Also ich versteh dein Problem zwar nicht ganz aber ich glaube ich hatte mal ähnliches als ich mal eine Soundclass geschrieben habe:
File songFile; String liedPfad; URL gesamtPfad; AudioClip song; SoundClass(String lied) { try{ songFile = new File(lied); liedPfad = "file:///"+songFile.getAbsolutePath(); gesamtPfad = new URL(liedPfad); song = Applet.newAudioClip(gesamtPfad); etc.
Der Liedname wurde halt per Konstruktor uebergeben, dann halt mit getAbsolutePath() der gesamte Pfad ermittelt und am Ende kann man es halt verweden wie man will. Das hat soweit ich mich erinnern kann auch in einem jar File funktioniert. Naja vielleicht hilft es ja
[ Dieser Beitrag wurde am 10.05.2003 um 22:56 Uhr von 0x0000F editiert. ]