Auf Dateiverzeichnis extern zugreifen (evtl über XML??)

kakulala

Mitglied
Hallo Leute,
ich habe eine "wie sollte ich das am besten in java umsetzen"-Frage. Ich habe ein Programm in Java geschrieben, dass eine csv-Datei einliest, die auf einem festen Verzeichnis gespeichert wird. (BufferedReader & FileReader) Die Datei wird anschließend ausgelesen & die Daten mithilfe von jFreeChart in einem XYDataset (XY-Graphen) angezeigt.

Frage: Das Programm soll nun jedoch ohne Entwicklungsoberfläche laufen, d. h. ich exportiere es als .exe. Da das Verzeichnis jetzt jedoch "unabhängig" sein soll, d.h. jederzeit änderbar, soll ich nun das Verzeichnis extern speichern bzw. gespeichert werden & es soll somit ohne dass ich in den Code gehen muss geändert werden können. Außerdem sollen auch die Daten aus dem Verzeichnis unabhängig vom Code aufgerufen werden. D.h. dort stehen unterschiedliche .csv-Dateien drinnen & man soll nach Namen & aktuellstem Datum sortieren können. D.h. es sollen immer die aktuellste .csv-Datei mit der "1" im Namen geöffnet werden und ein andermal die aktuellste .csv-Datei mit der "2" im Namen. Meine Frage lautet nun : Wie soll ich das am besten umsetzen?
Meine erste Idee wäre eine XML-Datei auf die mein Java-Programm zugreift, jedoch weiß ich nicht genau wie ich dort den Dateipfad speichern sollte....
vielleicht so: ? file:///H:/Test/Testfile.csv

Hat schonmal jemand ein Verzeichnis "ausgelagert" & dann darauf zugegriffen oder andere Ideen, wie ich es umsetzen könnte??
Würde mich sehr über Hilfe freuen!
 
Zuletzt bearbeitet:
Konfigurationsfile wie @stg beschrieben hat mit dem Pfad zum Directory. Wenn du das Verzeichnis hast, kannst du das dann durchsuchen und kannst nach Filenamen sortieren und auch vom jeweiligen File das lastModifiedTime erhalten.
 
Würde funktionieren, aber dann brauche ich 4 verschiedene Versionen der .exe. Denn das Verzeichnis würde ich gerne außerhalb des Codes durchsuchen, jede .exe soll nämlich jeweils nach einer Nummer sortieren & diese dann auslesen. In java-code funktioniert das ja ganz easy, aber kann man die Abfragen nicht auch auslagern? Deshalb ja die Frage ob das in xml möglich ist oder mit einem anderen Format?
 
Wie du das auslagerst ist egal, ob JSON, XML, Properties, txt, csv......... (du siehst es gibt zig Möglichkeiten wie gespeichert wird)
Das wichtigste ist das du alle Informationen auslagerst, die du benötigst!
 
mmhh, da das Programm später von Leuten angewendet wird die keinerlei erfahrung mit Java oder Progammiersprachen haben, erscheint mir dennoch xml am einfachsten. Speichert man denn den Dateipfad so: file:///H:/Test/Testfile.csv in der xml-Datei?
 
Genauso, wie du Abfragen in XML speichern willst?

In XML hätte ich die Abfragen mit true und false gelöst, wenigstens ob es eine csv-Datei ist. Den Rest hätte ich ja so reinschreiben können...also dass er nur die Nummern 1 ausführt & in einem anderen XML würde dann nur Nummer 2 ausgeführt werden. (oder ist da mein Gedankengang falsch?)
 
Zuletzt bearbeitet:
Ich würd die Abfragen so gestalten, dass man sie über einzelne Parameter steuern kann.
Die Parameter gibt man dann über die Datei (oder Kommandozeile) an
 
Ich würd die Abfragen so gestalten, dass man sie über einzelne Parameter steuern kann.
Die Parameter gibt man dann über die Datei (oder Kommandozeile) an
So, ich habe das ganze gestern abend ausprobiert. Es klappt super mit der Textdatei. Jetzt ist aber das Problem, das ich die auch wo speichern müsste um sie lesen zu können. Wenn ich sie jetzt aber in dem Verzeichnis speichere, auf das ich zugreifen möchte und auf dessen Daten ich zugreifen möchte passiert folgendes:
Es handelt sich um Netzwerk, das durch ein Passwort geschützt ist & obwohl ich das Passwort eingebe & das Netzwerk verbunden ist (H:/) wird mir der Zugriff verweigert & mein Textdokument kann nicht gefunden werden. Irgendwelche Ideen wie ich das umgehen kann?? Die Textdatei soll ja später in einem Verzeichnis liegen, worauf ich immer zugriff habe & das wäre H:/. & im Javacode kann ich das Verzeichnis ja nicht mehr ändern, wenn ich es als .exe exportiert habe...
 
Warum legst du die txt nicht in das gleiche Verzeichnis wie das Programm?
Meinst du den workspace? Ich habe das Programm noch nicht fertig, dazu brauchte ich noch eine Möglichkeit, einen Pfad einzulesen (jetzt gelöst mit .txt) .

Funktioniert das denn wenn ich eine .exe zum schluss mache & in dem Ordner befindet sich dann die Textdatei (mit Pfad). Kann ich dann die Textdatei bzw. den Pfad darin beliebig ändern & es funktioniert? Wäre schade, wenn ich das jetzt alles so fertig mache & zum schluss funktioniert es nicht so wie es sollte....
 
Ja deshalb sollte sie ja sich in dem gleichem Verzeichnis wie das Programm liegen.
Du solltest dafür natürlich keinen absoluten sondern einen relativen Pfad nutzen
 

Zurück
Oben