2016-08-22 2 views
0

Heute lese ich in einem 1z0-809 (OCP Java 8) Vorbereitungsbuch, dass die Files.move() auf nicht leere Verzeichnisse nur angewendet werden kann, wenn sie sich auf demselben Laufwerk befinden und das ein nicht leeres Verzeichnis verschiebt über ein Laufwerk wird eine NIO.2 DirectoryNotEmptyException werfen. Verschieben eines leeren Verzeichnisses über ein Laufwerk wird jedoch nicht. Könnte mir bitte jemand sagen warum?Warum kann ich nicht leere Verzeichnisse über ein Laufwerk mit Files.move() verschieben?

+1

Kennen Sie zum Beispiel den Begriff eines Einhängepunkts? Oder ein Windows-Laufwerk? – fge

Antwort

2

Ich würde wetten, dass es etwas damit zu tun hat, wie eine native "move" funktioniert.

Ein roher "move" ändert einfach einen Dateizeiger unter der Haube, denn ein Umzug auf ein neues Laufwerk beinhaltet wirklich eine Kopie und ein Löschen, von denen jedes aus anderen Gründen als eine tatsächliche "move" . Der Autor möchte wahrscheinlich, dass Sie jede Operation einzeln ausführen, so dass Sie diese Operationen eigenständig ausführen können, wenn Sie über Laufwerke fahren.

Verwandte Themen