Applet benötigt ein paar Hilfsdateien!Wie zur Verfügung stellen?

Loki2

Erfahrenes Mitglied
Hallo

Ich habe ein Applet welches soweit auch ganz gut funktioniert bis auf eine Sache.
Das Applet verwendet ein paar Gifs und eine xsl Datei. Ich bekomme aber immer eine FileNotFoundException wenn die Gifs bzw. das Stylesheet geladen werden soll da das Applet immer an merkwürdigen stellen sucht :confused:

Den Pfad zum Stylesheet habe ich so angegeben: styleSheet = "xml/transformer.xsl";

Im Jar ist der Ordner xml und die Datei auch mit enthalten aber trotzdem funktioniert das nicht. Wenn ich den Pfad so angebe sucht das Applet hier:

C:\Dokumente und Einstellungen\loki2\Desktop\xml\transformer.xsl

Wie kann ich dem Applet die benötigten Dateien zur Verfügung stellen

Vielen Dank schon mal.

Gruß und so
Loki2
 
Hi!

Um Ressourcen wie Grafiken oder Konfigurationsdateien aus Jar-Archiven zu laden, ist die Methode getResourceAsStream() beziehungsweise getResource() ideal. Sie sind Methoden des Class-Objekts. getResource() gibt ein URL-Objekt für die Ressource zurück. Da oft der Inhalt des Datenstroms interessant ist, liefert getResourceAsStream() einen InputStream. Intern wird aber nichts anderes gemacht als getResource() aufgerufen und mit openStream() ein Eingabe-Objekt geholt. Nur getResourceAsStream() fängt eine eventuelle IOException ab und liefert dann die Rückgabe null.

Beispiel:
InputStream variable = this.getClass().getResourceAsStream( "xml/transformer.xsl" );

Gruß
Sebastian
 
Hallo!

der Ordner XML liegt doch auf dem Server oder? Da kann das Appet welches auf dem Client laeuft mit dieser Angabe natuerlich nichts anfangen. Du koenntest beispielsweise eine URLConnection dazu verwenden einen InputStream fuer das XSL Stylesheet zu bekommen und dieses dann an den Transformer uebergeben. Eine weitere Alternative waere die das Stylesheet in das jars des Applets oder ein eigenes jar zu legen und dann innerhalb des Applets Tags mit dem archive Element zu referenzieren. Dann koenntest du beispielsweise mit DeinApplet.class.getClassLoader().getResourceAsStream("..../xml/deinstyleSheet.xsl") an das StyleSheet kommen.

Gruss Tom
 
Hallo

Vielen Dank für die Hilfe!

getResourceAsStream() war genau das was ich brauchte.

Gruß und so
Loki2
 
Zurück