Ich bin ein wenig verwirrt mit all diesen neuen Datei I/O-Klassen in JDK7.Wie kann ich eine Datei in JDK7 umbenennen (nicht verschieben)?
Sagen wir mal, ich habe eine Path
und möchte die Datei umbenennen, sie repräsentiert.
Wie gebe ich den neuen Namen an, wenn wieder ein Path
erwartet wird?
Path p = /* path to /home/me/file123 */;
Path name = p.getName(); /* gives me file123 */
name.moveTo(/* what now? */); /* how to rename file123 to file456? */
HINWEIS: Warum benötige ich JDK7? Handhabung von symbolische Links!
Problem ist: Ich muss es mit Dateien machen, welche Namen und Orte zur Laufzeit bekannt sind. Also, was ich brauche, ist eine sichere Methode (ohne außergewöhnliche Nebenwirkungen), um einen neuen Namen-Pfad eines alten Namens-Pfades zu erstellen.
Path newName(Path oldName, String newNameString){
/* magic */
}
Also kann ich nur einen neuen 'Pfad' erstellen? Ist etwas einfacher als: Pfad newName = Paths.get (name.getParent(). ToString() + pathSeparator + "newName"); ? –
Ja, jetzt lautet die Frage: Wie kann man einen solchen Pfad auf sichere Weise erstellen, so dass keine außergewöhnlichen Umstände ihn zum Scheitern bringen würden? –
Ich könnte versuchen, zu beschreiben, wie Sie den ursprünglichen Pfad nehmen, den Namen 'file123' abziehen können, verketten 'file456' statt und rufen Sie 'name.moveTo()' auf, aber da ich Java wirklich nicht kenne, würde ich raten .Was ich sicher bin, ist, dass ein * move * zu einem * rename * wird, wenn nur der Dateiname anders ist. – pavium