En breve:
Files.move(source, source.resolveSibling("newname"));
Mas detalle:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
Lo siguiente se copia directamente de http://docs.oracle.com/javase/7/docs/api/index.html :
Supongamos que queremos cambiar el nombre de un archivo a "newname", manteniendo el archivo en el mismo directorio:
Path source = Paths.get("path/here");
Files.move(source, source.resolveSibling("newname"));
Alternativamente, supongamos que queremos mover un archivo a un nuevo directorio, manteniendo el mismo nombre de archivo y reemplazando cualquier archivo existente de ese nombre en el directorio:
Path source = Paths.get("from/path");
Path newdir = Paths.get("to/path");
Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING);