Realize alguns testes de cópia de arquivo para comparar as classes de java.io e java.nio. Vejam aqui.
Agora realizei um novo teste, usando o método renameTo:
new File ("D:\\origemRename\\testePerformance.txt").renameTo(new File ("D:\\destinoRename\\testePerformance.txt"));
Me espantei ao ver que o tempo para execução desta linha foi 0. Independente do tamanho do arquivo. Creio que, diferentemente dos métodos usando FileChannel e Buffered reader/writer que criei no teste anterior, este método simplesmente delega a atividade de copiar o arquivo para o gerenciador de IO do SO, e volta instantaneamente depois disso.
Só tem um detalhe: Desta forma, o arquivo não é copiado, e sim movido. Alguém tem alguma sugestão para usar este método e fazê-lo copiar o arquivo
em vez de movê-lo?