Pfad aus Dateilesen -> wie diesen Pfad verwenden!

Status
Nicht offen für weitere Antworten.
T

Tomate_Salat

Gast
Hi,

Ich bin gerade dabei ein kleines Tool zu schreiben. Für das Tool gibt der Benutzer einen Pfad zu einem Ordner an, welcher Dateien enthält, dass das Tool administrieren soll. Dazu verwende ich einen JTree. Den Pfad zum Ordner wird in der config.txt gespeichert. Wenn ich jetzt mit FileReader die Datei auslese, erkennt File() diesen Pfad nicht o_O. Gebe ich den, in config.txt, enthaltenen Pfad manuell ein (also in den Programmcode in File()) Funktioniert es und der JTree läd die Ordner die in dem Pfad enthalten sind.

Also: wie kann ich den Pfad aus der config nehmen?

Hier der Code, wie ich die config.txt auslese [als Testeintrag steht in der Config: C:\ drin]

Code:
try {
                String vz = "";
                Reader fread = new FileReader("config.txt");
                for(int c=0;(c = fread.read()) != -1;) {
                    vz += (char)c;
                }
                File dir = new File(vz);
                getTree(dir,root);
 } catch(Exception e) {}

MFG
Tomate_Salat
 

Ebenius

Top Contributor
Anonymous hat gesagt.:
[...]
Code:
for(int c=0;(c = fread.read()) != -1;) {
[...]
Du liest alle Zeichen mit. Ich mutmaße: Inklusive dem Zeilenumbruch am Ende.

Wie wäre es, die Konfig-Datei zeilenweise zu lesen?
Code:
String fname = null;
try {
  // read the first line in config file, only
  final BufferedReader in = new BufferedReader(new FileReader("config.txt"));
  fname = in.readLine();
  in.close();
} catch(IOException e) {
  ex.printStackTrace();
}

if (fname != null) {
  final File dir = new File(fname); 
  // Falls hier auch Exceptions gefangen werden sollen: Neues try-catch-Konstrukt nutzen,
  // um den Ort des Fehlers besser abgrenzen zu können.
  getTree(dir,root);
}
(Code im Browser getippt. Kann also kleine Fehler haben)

Ebenius

PS: Fehlermeldungen bei Exceptions möglichst ausgeben (kein leerer catch-Block). Gefangene Exception-Typen möglichst sinvoll genau (Hier also IOException statt Exception) fangen. try-Blöcke möglichst klein halten. Ströme (und Reader) nach Verwendung schließen.
 
T

Tomate_Salat

Gast
ok, werde es gleich mal testen :).
Die Ströme schliese ich alle (nur in dem Fall vergessen weil ich verzweifelt war) :p
 
T

Tomate_Salat

Gast
Ok, das Problem wäre weg, jz hab ich ein neues :(, ich mache jz keinen neuen Thread auf, weils ja doch iwie hier reinpasst:

Die Daten sollen ja in einem JTree verwendet werden. Wenn ich jetzt aber die Config ändere(was über das Tool geschiet), wie kann ich dann erreichen, dass der Tree nur noch die Ordern und Dateien, des Pfades in der Config anzeigt. Sprich: Wie aktuallisiere ich das? Habe es mit Listener versucht aber nicht den richtigen gefunden. Habe schon ein Tutorial hier gefunden, doch das hilft mir auch nicht wirklich weiter

MFG
Tomate_Salat
 

Ebenius

Top Contributor
Das kann ich pauschal nicht beantworten... Daten im JTree setzt man über das entsprechende Modell (JTree.getModel()), aber das weißt Du bestimmt. Listener? Wem möchtest Du denn in welchem Fall zuhören? Vielleicht die Frage noch mal genauer/anders stellen oder ein bisschen Source-Code dazu, oder ...
 
T

Tomate_Salat

Gast
Hmm, Source-Code ist schwer, da das ganze auf Methoden verteilt ist. Ich versuche es genauer zu erklären:

In der Config ist ein Pfad gegeben zu einem Ordner
(z.B.: C:\Programme)
Beim starten des Programms, wird die Config ausgelesen und der JTree zeigt die Ordner usw. von diesem Pfad an.
Das Programm hat einen Button "Einstellungen". Klickt man diesen an, öffnet sich ein Dialog in dem man einen neuen Pfad eingeben kann. Das Programm schreibt diesen Ordner in die Config(sofern es diesen Ordner gibt!). War der Vorgang erfolgreich, erscheint ein 2ter Dialog, der den Benutzer darüber informiert. Klickt man dort auf den Ok button schließen beide Dialog-Fenster und der JTree soll das neue Verzeichnis annehmen.
 

Ebenius

Top Contributor
Dann solltest Du an dieser Stelle Dein TreeModel neu befüllen. Wem wolltest Du denn mit Listener zuhören?
 
G

Gast

Gast
Das ist auch der Plan. Zuhören wollte ich dem Button, wenn man den anklickt soll sich der Baum neu laden / befüllen.
 

Ebenius

Top Contributor
Du hast doch einen modalen Dialog, oder?
Code:
myModalDialog.setVisible(true);
// get result here
// store the config file
// update the tree model
Ist das nicht praktikabel?

Ebenius
 
T

Tomate_Salat

Gast
Mein Problem: ich weis nicht wie ich den JTree aktualisiere
 

Ebenius

Top Contributor
Anonymous hat gesagt.:
Mein Problem: ich weis nicht wie ich den JTree aktualisiere
Suchst Du sowas (zum Beispiel)?
Code:
// Ich mutmaße, dass Du DefaultTreeModel verwendest!
final DefaultTreeModel tm = tree.getModel();
final DefaultMutableTreeNode myNewRoot = <---- hier den Baum neu aufbauen
tm.setRoot(myNewRoot);
Ansonsten hab ich Dein Problem immer noch nicht greifen können...
 
T

Tomate_Salat

Gast
:) OMG ES FUNKTIONIERT!!! ENDLICH :) danke. Du weist garnicht wie sehr du mir geholfen hast :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
S Pfad zu Ressourcen Allgemeine Java-Themen 17
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
C FileOutputStream konkreter Pfad Allgemeine Java-Themen 3
J Datei löschen, die Leerzeichen im Pfad hat Allgemeine Java-Themen 5
L Classpath Relativer Pfad einer Resource? Allgemeine Java-Themen 9
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
C pfad vom Image ausgeben lassen Allgemeine Java-Themen 5
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
K Classpath Falscher Pfad? o.O Allgemeine Java-Themen 2
S Shell Commands mit absolutem Pfad ausführen Allgemeine Java-Themen 2
F LWJGL in keinem Java libary Pfad? Allgemeine Java-Themen 2
M FileInputStream relativer Pfad in .jar Allgemeine Java-Themen 2
D pfad zur jre linux Allgemeine Java-Themen 8
C Kompletter Pfad aus "input type=file" auslesen Allgemeine Java-Themen 3
M Input/Output Pfad mit Leerzeichen convertieren in Kurzschreibweise (~1, ~2, etc)? Allgemeine Java-Themen 10
C JAR, Pfad und Properties Allgemeine Java-Themen 17
P Pfad zu Dateien von "Tragbaren Gerät" Allgemeine Java-Themen 3
F Pfad der laufenden JAR ermitteln (mit Archivnamen) Allgemeine Java-Themen 2
U DLLs werden nicht gefunden trotz Pfad: Allgemeine Java-Themen 4
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
A File Java Pfad Allgemeine Java-Themen 5
D JavaEE-WebApp Pfad auslesen Allgemeine Java-Themen 3
M Pfad in int[][] finden Allgemeine Java-Themen 4
J Java Pfad nicht mehr in Path Variablen??? Allgemeine Java-Themen 2
C Environment Variable in Pfad -> Datei öffnen Allgemeine Java-Themen 5
M Relativer Pfad oder Dateien in Jar Allgemeine Java-Themen 7
D Pfad aus Ressource-Datei auslesen Allgemeine Java-Themen 7
S FileInputStream aplication Pfad Allgemeine Java-Themen 4
H Datei speichern -> Pfad erstellen? Allgemeine Java-Themen 1
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
W HTML-Pfad Allgemeine Java-Themen 4
M Batch ausführen mit Leerzeichen im Pfad Allgemeine Java-Themen 7
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
MQue ClassLoader Pfad ausgeben Allgemeine Java-Themen 6
A Jar-File - Pfad Allgemeine Java-Themen 3
-horn- Kürzester Pfad: Code so eine gute Idee? Allgemeine Java-Themen 7
H absoluter Pfad ins working Directory Allgemeine Java-Themen 17
GambaJo Pfad zum Userprofil abhängig vom OS (/home Dok&Einst. us Allgemeine Java-Themen 3
R Wo ist der Pfad zur "Java(TM) Platform SE" Allgemeine Java-Themen 7
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
P Pfad der gerade ausgeführten Jar-Datei auslesen Allgemeine Java-Themen 2
R Entfernen der '..' Notation aus dem Pfad Allgemeine Java-Themen 2
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
MasterEvil File.createTempFile liefert nur kurzen Pfad mit Tilde Allgemeine Java-Themen 3
T Wie bekomme ich den Pfad ohne Dateiname? Allgemeine Java-Themen 2
MQue Pfad splitten Allgemeine Java-Themen 2
P Pfad schließen xml Allgemeine Java-Themen 3
M Absoluter Pfad. Allgemeine Java-Themen 6
H Pfad einer Sounddatei von Soundkarte auslesen Allgemeine Java-Themen 15
G Problem Pfad zu wechseln Allgemeine Java-Themen 28
J Erkennen aus welchem Pfad das Jar gestartet wurde Allgemeine Java-Themen 6
S relativer Pfad? Allgemeine Java-Themen 18
S Relativen Pfad zu Pfad für File finden Allgemeine Java-Themen 4
G Problem mit Leerzeichen im Pfad bei File und getResouce Allgemeine Java-Themen 2
S Relativer Pfad in jsp Allgemeine Java-Themen 6
D Pfad ausfindig machen? Allgemeine Java-Themen 2
E Pfad angeben Allgemeine Java-Themen 5
M Den Pfad ermitteln aus dem die .jar Datei gestartet wurde Allgemeine Java-Themen 2
G ganze Pfad in einer Ordnerstruktur abbilden Allgemeine Java-Themen 19
G FileOpenDialog Pfad anlegen? Allgemeine Java-Themen 2
E in Pfad suchen Allgemeine Java-Themen 5
Q || Wie speichert man Dateien wo der Pfad als Link(UNIX)... Allgemeine Java-Themen 11
S Pfad Verwaltung Allgemeine Java-Themen 3
M Pfad zur Klasse ermitteln Allgemeine Java-Themen 2
L Pfad von Daten auf Server über FileChooseDialog Allgemeine Java-Themen 5
G absoluter pfad aus relativem Allgemeine Java-Themen 5
G Root-Pfad in einer Webapplikation finden Allgemeine Java-Themen 7
D Windows Pfad in UNC Pfad wandeln Allgemeine Java-Themen 4
G jar archiv und native klassen (pfad angabe) Allgemeine Java-Themen 2
P Leerzeichen im Pfad Allgemeine Java-Themen 8
I Pfad in einem String ändern Allgemeine Java-Themen 5
D Pfad zu meiner anwendung? Allgemeine Java-Themen 13
B relativer Pfad Allgemeine Java-Themen 18
J Pfad problem Allgemeine Java-Themen 14
D Jar-Datei-Pfad Allgemeine Java-Themen 2
welterde Pfad zur Jar-Datei Allgemeine Java-Themen 7
S Runtime exec unter MacOS X will nicht "open pfad" Allgemeine Java-Themen 7
M TreePath aus einem Pfad? Allgemeine Java-Themen 4
K Falscher Pfad beim Laden eines Bildes Allgemeine Java-Themen 9
G Servlets: Ganzer Pfad und Dateiname des verschickten Forms Allgemeine Java-Themen 15
G Wie komme ich an den Pfad zu meinem Programm? Allgemeine Java-Themen 2
thE_29 DOS pfad bekommen - die Tilde Allgemeine Java-Themen 1
A Pfad mit Leerzeichen über exec starten Allgemeine Java-Themen 6
G Relativer Pfad zu Pfad Allgemeine Java-Themen 2
H Pfad für [Ini/DB]-Datei Allgemeine Java-Themen 4
smarterToby Wie stoppe ich diesen Thread Allgemeine Java-Themen 4
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
D Exakte Unterschied zwischen diesen Elementen? Allgemeine Java-Themen 5
A Wie kann man diesen thread beenden? Allgemeine Java-Themen 17
S was bedeutet setZuname in diesen prog... Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben