XML oder ini

Status
Nicht offen für weitere Antworten.
M

Manuela

Gast
Hallo,
ich habe folgendes Problem, ich hab eine Java Anwendung als Dienst laufen.
Das funktioniert auch einwandfrei, bloß habe ich damit eine Schwierigkeit, ich habe bestimmte Variablen
in einer XML Datei gespeichert.
Jetzt habe ich festgestellt, dass die Variablen in der XML Datei nicht geladen werden. Wie könnte ich fortgehen,
dass ich über eine Textdatei oder eine ini Datei, meine Variablen eingewiesen bekomme.

Danke Manuela
 

Campino

Top Contributor
Die Frage ist, warum werden die Werte nicht geladen?

Laden die Werte, wenn du das Ding nicht als Dienst, sondern normal startest? Wenn ja, liegt es an der besonderen Ausführungsart, dann ist die Frage warum?
Wenn nein, hast du irgendeinen Fehler im Code. Dann gibt es keinen Grund, auf irgendeine ini oder Textdatei umzusteigen, du musst nur die xml- Variante fehlerfrei implementieren.
 

Der Müde Joe

Top Contributor
Manuela hat gesagt.:
Jetzt habe ich festgestellt, dass die Variablen in der XML Datei nicht geladen werden.

Tönt nach Fehler im Programm. Bestimmte werden nicht geladen? Dh manche schon.
Wahrscheinlich parsed du das XML falsch.

Manuela hat gesagt.:
Wie könnte ich fortgehen,
dass ich über eine Textdatei oder eine ini Datei, meine Variablen eingewiesen bekomme.

Egal ob dein Datei ini pdf oder avi oder wie auch immer heisst. Man könnte die Variablen
auch "flat in eine Datei schreiben zB:

variableX::27
variableY::testtest

und dann Zeile für Zeile einlesen (BufferedReader, FileReader). Wird allerdings dann schwierig
zu beurteilen was für ein Typ es ist (naja..bei XML ist das gleich Problem da)

Ich würde eher bei XML bleiben, da es meist besser strukturiert ist und auch sehr gute Libs dafür gibt.
zB Jdom Dom4J oder halt einfach einen Simplen Sax Parser nehmen.
Also schauen wo der Fehler im reinlesen des XML liegt und gut sein lassen
 
M

Manuela

Gast
Hallo,
also wenn ich das Programm normal starte, werden die Variablen auch geladen.
Ich arbeite mit NetBeans und dieser zeigt auch im Debugger Modus keine Probleme an.
Also das Programm funktioniert einwandfrei wenn es nicht als Dienst gestartet wird.

Manuela
 

Der Müde Joe

Top Contributor
Kann es sein, dass der Pfad zur XML als Dienst nicht mehr stimmt,
darum das File nicht mehr findet und dann nix lädt?
 
M

Manuela

Gast
Hallo,
du hast recht, der Pfad für die XML Dateien scheint sich zu ändern wenn ich den absoluten Pfad eintragen,
"C:/test/daten/test.xml" dann funktioniert das Programm. Schreibe ich aber nur "/daten/test.xml" dann funktioniert das Programm nicht.
Die Frage bleibt nur, wenn ich das Programm als Dienst starten will, muss ich vorher im Programmcode den absoluten Pfad eingeben. Diese Lösung finde ich als sehr unbefriedigend, weil es geht auf Kosten der Flexibilität.
Ich habe auch schon versucht die XML Datei in den gleichen Ordner zu stecken wie die Test.jar die ich als Dienst starte. Doch leider auch ohne Erfolg. Es muss doch möglich sein den Pfad der XML Datei so einzutragen, dass man diesen auch findet.

Gruß Manuela
 

Der Müde Joe

Top Contributor
Code:
System.getProperty("user.dir")

gibt dir den momentanen Pfad des Programmes an.
Daraus kann man sich den Pfad relativ zum Installationsort basteln.
 
M

Manuela

Gast
Hallo,
dass es sehr interessant was ich eben festgestellt habe, ich habe deinen Rat befolgt, und haben mir einfach mal in eine Datei die User dir ausgeben lassen. Ich habe erwartet das dort steht "C:\Test\" aber es steht dort "C:\WINDOWS\system32"
ist sehr interessant, obwohl ich in der Reg. "AppDirectory" = " \C:\\Test\"" geschrieben habe.

gruß Manuela
 

Wildcard

Top Contributor
user.dir gibt an von welchem Verzeichnis das Programm gestartet wurde, das ist nicht immer der, in dem das Programm auch liegt.
 
M

Manuela

Gast
Hallo,
ich habe mir beholfen, und habe einen Ordner in der System32 gemacht und dort habe ich meine xml Datei,
und alles ist in Butter.

Gruß Manuela
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben