Java: In welchem Format Datei speichern und wie?
Hallo,
Ich schreibe ein Programm zur Studentenverwaltung. Es soll CSV-Liste eingelesen werden. In der liste sind die Daten der Studenten und zu jedem Student ist der Pfad des Bildes zugeordnet. Nun soll die Datei gespeichert werden. Das Programm kann die eingelesene Liste wieder inkl. Bild-Pfade als CSV-Datei speichern. Das Problem ist das die Bilder gelöscht werden können und die Bild-Pfade werden nicht mehr stimmen. Ich will nun erreichen, dass das Programm CSV-Datei und die dazu gehörige Bilder in einem Ordner Packt (natürlich mit Bild-Pfaden von diesem Ordner).
Wie kann man es erreichen?
1 Antwort
Die Files-Klasse beherbergt einige nützliche Methoden für deine Anforderungen.
Beim Schreiben der CSV-Datei kannst du dir mit der createDirectories-Methode einen Ordner anlegen lassen. Wenn der Ordner bereits existiert, passiert nichts. Wenn die Oberverzeichnisse noch nicht existieren, werden sie erst angelegt.
Path path = Paths.get("/path/to/new/directory");
Files.createDirectories(path);
Mit der move-Methode gelingt eine Verschiebung von Dateien in einen anderen Pfad. Iteriere einfach durch alle Einträge der CSV-Datenstruktur und wende je Eintrag die genannte Methode an.
Das Problem ist das die Bilder gelöscht werden können und die Bild-Pfade werden nicht mehr stimmen.
Löschen kann der Nutzer die Bilder jederzeit nach Belieben und da dein Programm nur verweisende Pfade speichert, lässt es sich nicht so ganz verhindern, dass ein Pfad auch mal auf ein nicht existentes Bild verweist.
Beim Verschiebevorgang kannst du zumindest (mit exists) erst prüfen, ob die Datei noch existiert. So eine Abfrage solltest du ebenso für die Anwendungsfälle einbauen, bei denen dein Programm möglicherweise nochmal auf eine konkrete Datei zugreift.