Die Frage wie man in Java eine Datei verschiebt hat mich zugegebenermaßen Jahrelang gequält. Und einige andere auch, wie ich kürzlich erfuhr. Nun, da ich die Lösung kenne muss ich sagen: achtet auf Eure Methodennamen.
Die Lösung liegt hier genau dort wo man sie vermutet hätte. In java.io.File.
Und jetzt denken wir alle mal an ein Unix-System. Wie benennt man dort eine Datei um? Mit mv, was wohl für move steht. Und wie verschiebt man jetzt in Java eine Datei? Richtig, mit
file.renameTo(File f);
Die Java-Doku mehrt sich nicht wirklich zu den Plattformabhängigen gefahren dessen aus. Dort heißt es nur, dass es je nach Betriebssystem sein kann, dass das verschieben über Partitionsgrenzen hinweg nicht klappt, oder die Operation fehlschlagen kann, wenn die Zieldatei bereits existiert. Da die Methode allerdings ein nettes kleines boolean zurückgibt kann man damit einfach überprüfen ob es funktioniert hat und eventuell auf die herkömliche “Kopieren und Ursprungsdatei löschen”-Methode zurückgreifen, die man sich vor lauter Verzweiflung schon geschrieben hatte.
Diskussion
Keine Kommentare zu “Dateien verschieben in Java”
Post a comment