# Verzeichnis auf Existenz prüfen + Inhalt holen



## SBS (6. Sep 2006)

Hallo,

ich habe ein Programm, in welchem jemand z.B. in ein JTextField ein Verzeichnis eintippen kann (oder bald später hoffentlich per Verzeichnisauswahl Dialog eines auswählen kann), nun möchte ich, bevor in diesem Verzeichnis überhaupt etwas gemacht werden kann, zunächst prüfen ob dieses Verzeichnis existiert, falls ja möchte ich den Inhalt (inklusive Unterverzeichnissen) irgendwie holen und abspeichern. 

Das ist die Idee, dazu hätte ich folgende Fragen.

1.) Wie kann ich das Verzeichnis auf Existenz prüfen (die PFadangabe liegt momentan als simpler String vor, falls das wichtig sien sollte)
1.b) Wäre ein Verzeichnisauswahl Dialog besser geeignet? - Falls ja, wie erzeuge ich so einen?

2.) Vorrausgesetzt das Verzeichnis existiert, was wäre denn eine geschickte Möglichkeit den Inhalt (dazu zähle ich sämtliche Dateien, sowie Unterordner mit INhalten) irgendwie zu holen - genauer: vielleicht den Zustand des Inhaltes, irgendwie als MD5 Wert? - und ggf. auch in einem Objekt/Variablen/Vektor abzuspeichern - je nachdem was geeignet ist.

Erklärung: Ich möchte eine MEthode, die einen Verzeichnisinhalt mit dem eines anderen (Backup) VErzeichnisses abgleicht (z.b. anhand von MD5 Werten) und dann ggf. (nur) die unterschiedlichen Dateien tauscht.


Wäre nett wenn mir jemand dazu was sagen bzw. Codeschnipsel geben könnte, habe in der Richtung noch nichts gemacht bisher.

Besten Dank schonmal


----------



## Gelöschtes Mitglied 5909 (6. Sep 2006)

gugg in die api omg


```
File file = new File("c:\foobar");

file.isDirectory(); // selbsterklärend

String[] liste;
liste = file.list(); //files und directories 
liste = file.listFiles(); //selbsterklärend
```


ich frag mich echt wie ihr des teilweise macht ohne api.. lernd ihr des auswendig?


----------



## SBS (6. Sep 2006)

Moin, dankschön.

Natürlich verwende ich des API, aber genau weil ich nicht alles auswendig kann, weiß ich nicht wo ich nach soetwas suchen muss, weil ich, wie oben gesagt, mich mit sowas zum ersten Mal beschäftige


----------



## Gelöschtes Mitglied 5909 (6. Sep 2006)

das steht alles bei File


----------



## The_S (7. Sep 2006)

Für die Verzeichnisauswahl gibt es die Klasse JFileChooser. Um ein Verzeichnis u. a. auszulesen habe ich einen FAQ Beitrag geschrieben.

http://www.java-forum.org/de/viewtopic.php?t=35290


----------



## SBS (7. Sep 2006)

@Hobbit Im Blutrausch

Hey das ist ja mal super!
*Daumen hoch*

Da kann ich denke ich schon sehr viel mit anfangen und erstmal ein gutes Stück vorran kommen.

Bleibt nur noch eine Lösungsidee des Verzeichnisabgleichs, ich möchte bei der Backup-Methode nämlich nicht einfach stur alle Dateien ersetzen, sondern lediglich geänderte oder neu hinzugekommene. Fällt jemandem dazu ein Stichwort ein in welcher richtung ich diesbezüglich suchen könnte?
Meine Idee war einen MD5 Wert (bietet Java da was an?)  jedes Files zu erzeugen, diesen irgendwo zu speichern und dann beim Backup mit den MD5 Werten vergleichen die ich während der Backupfunktion wieder neu erstellen lasse von allen Dateien.... nicht gerade wenig Rechenaufwand, oder?


----------



## Guest (7. Sep 2006)

Kannst dir auch einfach die Zeitstempel der Dateien holen und damit arbeiten, sollte etwas einfacher sein als das über die MD5 werte zu machen. ist aber Geschmackssache und hängt vom Einsatzgebiet ab.


----------



## SBS (7. Sep 2006)

Hm ja klingt so erstmal recht sinnvoll, überlege gerade was für MD5 sprechen würde..

Wie würde ich mir die Zeitstempel holen?


----------



## Guest (7. Sep 2006)

SBS hat gesagt.:
			
		

> Hm ja klingt so erstmal recht sinnvoll, überlege gerade was für MD5 sprechen würde..
> 
> Wie würde ich mir die Zeitstempel holen?



Ich dachte du verwendest die API???? Dann mach das auch mal, weil wenn du da mal geschaut hättest, dann wäre dir beim FILE aufgefallen, dass es da die Methode lastModified() gibt und was wird die wohl zurück geben?


----------



## SBS (7. Sep 2006)

DAss ich sie verwende heißt nicht, dass ich rund um die Uhr Zeit habe da rein zu schauen  Sitze grade nicht an dem Projekt, daher habe ich bei File im API noch nicht nachgesehen.. in der Regel lasse ich mir auch von Eclipse die Sachen vorschlagen, das API verwende ich nur nebenher. 
Grüße


----------

