2012-03-21 11 views
8

Sia File.renameTo e Files.move in Java possono spostare un file. Qual è la differenza tra i due? E quale ha una performance migliore?Differenza tra File.renameTo e Files.move: Qual è più veloce?

+1

Hai avuto uno sguardo alla documentazione prima di inviare una domanda? ['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). Sembra che tu non l'abbia fatto, quindi otterrai le risposte che vengono sollevate direttamente da questa documentazione. –

+0

Offtopic: i file sono solo in JDK7. FileUtils di Apache common ci ha aiutato molto. – Jayan

+0

La differenza di prestazioni è molto probabilmente non importante (a meno che non sia necessario eliminare migliaia di file e c'è qualche motivo per cui questo è un aspetto critico). – Jesper

risposta

7
public boolean renameTo(File dest) 

rinomina il file indicato con questo nome di percorso astratto.

Molti aspetti del il comportamento di questo metodo sono intrinsecamente dipendente dalla piattaforma: L'operazione rinomina potrebbe non essere in grado di spostare un file da un file system ad un altro e non potrebbe avere successo se un file con destinazione percorso alternativo già esistente.

Source

Ma il metodo move può spostare o rinominare un file in un piattaforma indipendente maniera.

renameTo è solo restituire un valore booleano tipo ma i rendimenti moveil percorso del file di destinazione

+1

Quindi sono uguali in termini di prestazioni? – TAAPSogeking

Problemi correlati