En bref :
Files.move(source, source.resolveSibling("newname"));
Plus de détails :
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
Ce qui suit est copié directement de http://docs.oracle.com/javase/7/docs/api/index.html :
Supposons que nous voulions renommer un fichier en "nouveau nom", en conservant le fichier dans le même répertoire :
Path source = Paths.get("path/here");
Files.move(source, source.resolveSibling("newname"));
Supposons également que nous voulions déplacer un fichier vers un nouveau répertoire, en conservant le même nom de fichier et en remplaçant tout fichier existant de ce nom dans le répertoire :
Path source = Paths.get("from/path");
Path newdir = Paths.get("to/path");
Files.move(source, newdir.resolve(source.getFileName()), StandardCopyOption.REPLACE_EXISTING);