RTF - Dateipfad ermitteln

Status
Nicht offen für weitere Antworten.

chrissy

Bekanntes Mitglied
Hi,

Ich habe ein RTF, dass ich in meinem Programm aufrufen möchte.
Da ich das RTF auch mit meinem JAR verteilen möchte habe ich in meinem source-code Ordner einen Ordner rtf angelegt, in dem ich meine RTF Datei abgelegt habe (test.rtf)

File test = new File("rtf/test.rtf")
oder
ClassLoader.getSystemResource("rtf/test.rtf")

Aber er findet die Datei nie, auch in meinem classes-Verzeichnis kann ich sie nirgends finden. Ich glaube auch dass dads irgendwie die falschen Ansätze sind, leider weiss ich (noch) keine besseren.

Also stellen sich mir folgende Fragen:

1. Wie kann ich die Datei mit meinem Programm (JAR) verteilen?
2. Wie kann ich den Dateipfad ermitteln?

Danke
chrissy
 
1. Die datei muss natuerlich mit ins Jar gepackt werden - wie packst du dein JarR zur Zeit zusammen ? (ich wuerde dir die Verwendung von Ant ans Herz legen)
Es bietet sich an, fuer die Resourcen dabei einen extra Pfad (innerhalb des jars) zu verwenden. z.B.: resources/rtf/test.rtf

2. Die Datei kann dann nur sinvoll ueber den Classloader geladen werden, z.B.:
Code:
getClass().getResourceAsStream("/resources/rtf/test.rtf");
Wichtig ist der / am Anfang, da ansonsten automatisch das package der Klasse, die du mit getClass() bekommst, an den Anfang gehaengt wird.
 
Hallo held,

da ich mit JDeveloper entwickle, nutze ich auch interne Funktion zum Erstellen von JARs.
Mit Ant habe ich noch nie gearbeitet.
Wo muss ich die Datei anlegen? Ich steh irgendwie auf dem Schlauch ... 😳

Danke
 
Naja auch die interne Funktion sollte die Moeglichkeit bieten beim Erstellen von JARs andere Dateien neben den .class Dateien einzubeziehen. Frag mich aber bitte nicht wie, ich nutze keinen JDeveloper und kenne mich damit nicht aus.

Auf alle Faelle kannst du mit einem handelsueblichen Kompressionstool (z.B. 7-Zip) den Inhalt der erstellten Jar ueberpruefen.
 
Hallo held,

ich habe nochmal beim JDeveloper alles durchforstet und nun die Möglichkeit gefunden.
Ich hoffe ich bekomme das jetzt hin mit dem Einbinden.
Aber wo muss ich den Ordner mit dem RTF erstellen? Irgendwo auf dem PC oder in dem source-code Order meines Projekts?
Sorry für die "dummen" Fragen, aber irgendiwe schnall ich das net ganz.

Was mich noch wundert. Meine Bilder habe ich auch in einem Order in meinem source-code Ordner (c:\myworkspace\myproject\src\image). Auf den kann ich ohne Probleme mit ClassLoader.getSystemResource("image/myimage.jpg") zugreifen. Warum funktioniert das nicht mit dem RTF?

Danke
chrissy
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben