Filepath validieren

Status
Nicht offen für weitere Antworten.

max5432

Aktives Mitglied
Ich müsste im JFileChooser den Namen für die Datei angeben, in die etwas geschrieben werden soll. Wenn die Eingabe getätig wird, wird die (relativ umfangreiche) Arbeit gemacht und das Resultat in die Datei gespeichert.

Da der Path auch von Hand eingegeben werden kann, kann natürlich passieren, dass der eingegebene Path nicht korrekt ist: man kann sich z. B. vertippen usw. Damit ich in einem solchen Fall nicht umsonst die Arbeit mache und sie anschliessend nicht speichern kann( hier könnte ich natürlich noch einmal mit Ausnahmebehandlung kommen ...), wäre sinnvoll, vor der Ausführung zu testen, ob der angegebene Path in der Tat existiert bzw. korrekt ist. Wie kann man einen Path einfach validieren? Ich könnte sicher einen Output-Stream erzeugen und je nach dem, ob eine Ausnahme geworfen wird oder nicht beurteilen, ob der Path korrekt ist oder nicht. Aber, kann man das irgendwie mit einem File-Objekt machen? Denn, ich kann File-Objekt erzeugen, leider komme ich nicht weiter: ein File-Objekt kann ich auch mit einem unsinnigen Path erzeugen. Also, wie könnte man das einfacher machen?

Danke.
 

0x7F800000

Top Contributor
Wie willst du denn beurteilen, wann ein pfad unsinnig ist? Vielleicht beabsichtigt der benutzer ja, dass irgendein quatsch wie [c]C:\Rpogramme\Java\Blup\results\crap.txt[/c] angelegt wird? Wenn du das weniger überraschend gestalten willst, kannst du ja auch einfach mal den JFileChooser aufrufen, da kann man kaum danebenklicken, es sei denn man will das etwas absichtlich sabotieren... :bahnhof:
 

max5432

Aktives Mitglied
die exists() methode aufrufen? ???:L

File (Java Platform SE 6)

Angenommen, habe folgende Verzeichnisstruktur:

C:\Temp

Das Verzeichnis ist leer. Wenn ich jetzt als Zieldatei C:\Temp\test.txt angeben, liefert mir File.exists() den Wert false zurück, da die Datei in der Tat noch nicht existiert.

Nun, ich könnte jetzt den Path von Hand wie folgt eingeben:

C:\TempTempTemp\test.txt

Das Verzeichnis TempTempTemp existiert nicht, die Datei auch nicht. Also, bekomme ich wieder false zurück. Nun weiss ich nicht, ob deshalb, weil die Datei nicht existiert, oder weil das Zielverzeichnis nicht existiert! Jetzt würde ich gerne prüfen, ob das Zielverzeichnis existiert, und zwar möglichst einfach, ohne mit getParentFile arbeiten zu müssen usw. Darum auch meine Frage: gebe es etwas einfacheres, was ich evtl. übersehen habe?
 

max5432

Aktives Mitglied
Wie willst du denn beurteilen, wann ein pfad unsinnig ist? Vielleicht beabsichtigt der benutzer ja, dass irgendein quatsch wie [c]C:\Rpogramme\Java\Blup\results\crap.txt[/c] angelegt wird? Wenn du das weniger überraschend gestalten willst, kannst du ja auch einfach mal den JFileChooser aufrufen, da kann man kaum danebenklicken, es sei denn man will das etwas absichtlich sabotieren... :bahnhof:

Ja, du hast recht. Ich könnte ihn aber dazu verdonnern, dass er Verzeichnisse anders anlegt (mit entsprechenden Icons im Dialog usw.). Also, nehmen wir an, dass ich nur den Pathangabe erlauben möchte, bei der das Zielverzeichnis vorhanden ist. Wie könnte man einfach prüfen, ob das Zielverzeichnis vorhanden ist?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben