2017-03-22 3 views
0

Ich möchte den Namen eines Verzeichnisses ändern.So ändern Sie den Namen eines Ordners in Java

ich das nächste Stück Code haben:

Files.move(dir.toPath(), newDir.toPath(), StandardCopyOption.REPLACE_EXISTING); 

aber ich bekomme diese Fehlermeldung, wenn ich den Code ausführen, wird die nächste Ausnahme zurückgegeben.

java.nio.file.FileAlreadyExistsException: C:\ws\dir -> C:\ws\aux 

ich überprüft haben, dass der Ordner C: \ ws \ newdir nicht und C nicht existiert: \ ws \ dir tut.

Ich habe auch versucht File.renameTo(), aber es funktioniert nicht mit Ordnern.

+0

Scheinbar hängt das Problem mit dem neuen Namen des Verzeichnisses 'aux' zusammen. Als ich den Namen geändert habe, hat es angefangen zu arbeiten. – JCalcines

+0

In diesem Fall würde ich einen Code hinzufügen, um das Vorhandensein des Zielordners zu überprüfen, bevor ich meinen Zug mache. – antonio081014

+0

Ich überprüfte den Ordner und es war nicht vorhanden. Es war ein sehr seltsames Thema. Wie auch immer, das Problem ist gelöst, da der letzte Name nicht wichtig ist. – JCalcines

Antwort

5

auf dieser official tutorial

import static java.nio.file.StandardCopyOption.*; 
... 
Files.move(source, target, REPLACE_EXISTING); 

Basierend Should für Sie arbeitet.

Sie können auch andere Kopieroptionen für den 3. Parameter verwenden.

Für Existenz Datei oder einen Ordner überprüft, Check-out dieses link

Kasse diese link.

BTW, stellen Sie sicher, dass Sie die Berechtigung zum Verschieben von Dir/File haben, und Sie nur verschieben Sie einmal.

+0

Ich habe die Frage aktualisiert, indem ich den dritten Parameter hinzufüge. Es funktioniert nicht und der Schicksalsordner existiert nicht. – JCalcines

+0

Anscheinend war das Problem mit dem Namen der Datei verbunden. Ich akzeptiere deine Antwort, weil sie in anderen Fällen korrekt ist. Vielen Dank! – JCalcines

Verwandte Themen