2012-03-21 18 views
8

Ambos File.renameTo y Files.move en Java pueden mover un archivo. ¿Cuál es la diferencia entre los dos? ¿Y cuál tiene un mejor rendimiento?Diferencia entre File.renameTo y Files.move: ¿Cuál es más rápido?

+1

¿Ha tenido un vistazo a la documentación antes de publicar una pregunta? ['renameTo'] (http://docs.oracle.com/javase/6/docs/api/java/io/File.html#renameTo%28java.io.File%29), [' move'] (http : //docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#move%28java.nio.file.Path,%20java.nio.file.Path,%20java.nio .file.CopyOption ...% 29). Parece que no lo has hecho, por lo que obtendrás respuestas que se eliminan directamente de esta documentación. –

+0

Offtopic- Files está solo en JDK7. Los FileUtils de Apache Common nos ayudaron mucho. – Jayan

+0

La diferencia en el rendimiento probablemente no sea importante (a menos que necesite eliminar miles de archivos y hay alguna razón por la cual esto es crítico para el rendimiento). – Jesper

Respuesta

7
public boolean renameTo(File dest) 

renombra el fichero denotado por esta vía de acceso abstracta.

Muchos aspectos de el comportamiento de este método son inherentemente dependiente de la plataforma: La operación de cambio de nombre podría no ser capaz de mover un archivo de un sistema de archivos a otro y podría no tener éxito si un archivo con el destination ruta de acceso abstracta ya existe.

Source

Pero el método move puede mover o cambiar el nombre de un archivo en un independiente de la plataforma manera.

renameTo se acaban de volver de un tipo booleano pero los rendimientos movela ruta de acceso al archivo de destino

+1

¿Entonces son los mismos en términos de rendimiento? – TAAPSogeking

Cuestiones relacionadas