Estoy un poco confundido con todas estas nuevas clases de E/S de archivos en JDK7.¿Cómo cambio el nombre (no muevo) un archivo en JDK7?
Digamos que tengo un Path
y quiero cambiar el nombre del archivo, representa.
¿Cómo especifico el nuevo nombre cuando de nuevo se espera un Path
?
Path p = /* path to /home/me/file123 */;
Path name = p.getName(); /* gives me file123 */
name.moveTo(/* what now? */); /* how to rename file123 to file456? */
NOTA: ¿Por qué necesito JDK7? Manejo de enlaces simbólicos!
El problema es que tengo que hacerlo con archivos, cuyos nombres y ubicaciones se conocen en tiempo de ejecución. Entonces, lo que necesito, es un método seguro (sin efectos colaterales excepcionales) para crear un nuevo nombre-Ruta de acceso de un antiguo nombre-Ruta.
Path newName(Path oldName, String newNameString){
/* magic */
}
Entonces, ¿puedo crear una nueva 'Ruta'? ¿Hay algo más simple que: Path newName = Paths.get (name.getParent(). ToString() + pathSeparator + "newName"); ? –
Sí, ahora la pregunta es: cómo crear dicha ruta de forma segura, para que ninguna circunstancia excepcional provoque su error. –
Podría intentar describir cómo se puede tomar la ruta original, quitar el nombre 'file123' concatenar 'file456' en su lugar e invocar 'name.moveTo()' pero como realmente no sé Java, estaría adivinando .Lo que estoy ** seguro ** es que un * movimiento * se convierte en un * rename * si solo el nombre del archivo es diferente. – pavium