txt datein auslesen

JavaFX und die Programmierung

Moderator: wegus

Antworten
Mitch
Beiträge: 79
Registriert: 02.03.2010, 12:39

txt datein auslesen

Beitrag von Mitch » 22.09.2010, 06:45

Hi,
ich würde gern wissen, ob es eine möglichkeit gibt mit JavaFX txt (oder auch andere Textdatein) einzulesen.
Ich habe in meinem Programm einige einstellungen, die ich, je nachdem auf welchem Rechner es läuft, ändern muss.
Damit ich nicht jedesmal das Programm neu kompilieren muss würde es helfen, wenn ich die Einstellung die ich ändern muss aus einer txt Datei einlesen könnte (es handelt sich um server adressen und Sensoreinstellungen, die eh als String übergeben werden). Somit müsste ich für die jeweiligen Rechner nur eine art config.txt erstellen, die mein Prog dann einlesen kann.
Habe mir sagen lassen, dass sowas mit java funktioniert.

Falls das nicht gehen sollte, wäre ich über einen alternativen Lösungsvorsclag natürlich auch dankbar.
MfG

Benutzeravatar
smurfi
Site Admin
Beiträge: 1639
Registriert: 29.06.2006, 11:33
Wohnort: Wuppertal
Kontaktdaten:

Re: txt datein auslesen

Beitrag von smurfi » 22.09.2010, 07:22

Hallo,

wir hatten hier vor einiger Zeit schon mal so etwas ähnliches mit einer XML-Datei, schau dir das doch mal an:

http://www.netbeans-forum.de/viewtopic.php?f=34&t=2990

Gruß
Michael

Mitch
Beiträge: 79
Registriert: 02.03.2010, 12:39

Re: txt datein auslesen

Beitrag von Mitch » 22.09.2010, 07:42

Hmm,
erstmal vielen dank für die flotte Antwort.
Hab mir das mal angeschaut, nur hab ich nie mit xml zu tun gehabt.
Wenn ich das richtig sehe, liest er mir die komplette Datei ein.
Was ich brauch sind eher gewisse Zeilen, die ich gern auslesen möchte.
z.B:
Ich benutze eine rmi Anbindung um über ein Backend auf eine Datenbank zugreifen zu können. Daher muss ich natürlich auch den Server kontaktieren, den ich allerdings auf jedem Rechner laufen lassen muss, auf dem auch die GUI derzeit läuft (nicht fragen warum ;), ist aus testgründen derzeit nicht anders machbar)
daher sehen zwei Zeilen in meinem Code so aus:

Code: Alles auswählen

var iktServerUrl = "rmi://ikt82/IKTServer2";

public var rmiInterface: RmiInterface = java.rmi.Naming.lookup(iktServerUrl) as RmiInterface;

Die Variable iktServerUrl ändert sich daher immer dann, wenn ich das GUI auf einem anderen Laborrechner laufen lassen möchte.
Daher wäre es für mich am praktischsten, wenn ich die Adresse aus einer txt Datei auslesen könnte, damit ich nicht jedesmal den Code ändern muss, neu kompiliern usw...
Allerdings sollten dann auch mehrere Sachen auf diese weise eingelesen werden, die dann alle in eine config.txt oder von mir aus auch .xml reingeschrieben werden sollen.
Nur habe ich grad keine Ahnung wie ich sowas machen kann.

MfG

Mitch
Beiträge: 79
Registriert: 02.03.2010, 12:39

Re: txt datein auslesen

Beitrag von Mitch » 22.09.2010, 09:51

Habe nun eine Lösung gefunden, falls ihr sehn wollt wie:

Code: Alles auswählen

public class ReadConfig {

    public var serverUrl: String;
    def is:InputStream=new FileInputStream("config.xml");

    public function processResults(): Void {
        def parser = PullParser {
                    documentType: PullParser.XML;
                    input: is;
                    onEvent: parseEventCallback
                };
        parser.parse();
        is.close();
    }

    def parseEventCallback = function(event: Event) {
                if (event.qname.name.equals("serverUrl") and event.type == (PullParser.TEXT)) {
                    serverUrl = event.text;
                }
            }
    public function getServerUrl():String {
        var returnValue:String;
        processResults();
        returnValue=serverUrl;
        return returnValue;

    }

}
Allerdings habe ich nun ein Problem, die XML File soll natürlich nicht mit in die .jar sondern in den selben Ordner wie die .jar.
Im anderen Threat steht, dass man dann "./config.xml" angeben muss. Dies funktioniert allerdings nicht.

MfG

Mitch
Beiträge: 79
Registriert: 02.03.2010, 12:39

Re: txt datein auslesen

Beitrag von Mitch » 02.12.2010, 13:41

Hallo,

ich würde dieses Thema doch nochmal wiederbeleben.
Ich versuche derzeit das Problem wieder anzugehn.
Folgende Problemstellung:

Ich möchte einen Dateifad zu einer .xml oder auch .txt relativ zu meinem projekt angeben.

Anders gesagt:
mein Projekt ist im dist Ordner (wie von Netbeans erstellt) und dort in einer .jar.
Das Projekt ist in einem Package.

Also: Ordner: dist Datei: xy.jar Package: randompackage

Wie kann ich nun ein Pfad angeben zu einer Datei die im dist Ordner liegt (wie auch die jar Datei).

Hab schon einiges Probiert aber bislang ohne erfolg.

Danke schonmal
MfG

Antworten