Sonic: Jar-File - Verzeichnis Handling

Hallo,

bitte um Hilfe, da ich nicht weiter komme. Ich möchte ein Jar-Archiv
mit folgenden Dateien bzw. Verzeichnissen erstellen:

src    --> pics --> (Bilder)
       --> data --> (Klassen)
audio  -->          (Audio-Dateien)
.classpath

Nun habe ich folgendes Problem.
Die Audio-Dateien werden nicht gefunden. Sie werden bei mir im Code wie folgt geladen.

File f = new File("audio/abc.mid");

Das einzige, was bis jetzt funktionierte, ist, audio-Verzeichnis nach src verschieben und auf Files so zugreifen: File f = new File("abc.mid");

Wie soll ich den classpath
anpassen, so, dass meine midis im Programm geladen werden? Denn, wenn ich so mache
File f = new File("abc.mid");
findet die Eclipse die Dateien nicht mehr. Ich möchte schon, dass meine Verzeichnisstruktur ordentlich aussieht.

Danke im Voraus.

  1. Hallo.

    Auf Dateien im JAR kann auch über die getResource*()-Methoden der Klassen 'Class' bzw. 'ClassLoader' zugegriffen werden.

    Wen ich das richtig in Erinnerung habe z.B. so:

      
    InputStream is = MyApp.class.getResourceAsStream("/absolute/path/in/jar" );  
    
    

    Im Zweifelsfall stehen dir natürlich immer noch alle Möglichkeiten von java.util.zip.* offen...

    Christoph

    1. InputStream is = MyApp.class.getResourceAsStream("/absolute/path/in/jar" );

      
      > Im Zweifelsfall stehen dir natürlich immer noch alle Möglichkeiten von java.util.zip.\* offen...  
        
      Danke Christoph. Ich habe nun InputStream benutzt anstatt File.  
      Trotzdem würde mich interessieren, wie es mit File funktioniert, also wie man mit File-Objekten eine ordentliche Verzeichnis-Struktur hinkriegt.