Non mi è ben chiaro questo metodo renameTo di java.io.File.

Mi è stato detto che rinomina il file fisico a cui è legato lo streaming logico. Quello che non capisco è: dopo che lo rinomino, lo streaming logico punterà al fine appena rinominato?

Cioè se ho questo codice:

codice:
File old = new File("pippo.dat"), rname = new File("paperino.dat");
old.renameTo(rname);
Cosa farebbe questo codice? è sulle slide della lezione ma mi ha confuso molto.
Nell'esempio mi pare di aver capito che old è un file realmente presente, quindi c'è sia un flusso logico che fisico, mentre rname è un file che ancora non esiste.

Mi pare di aver capito che facendo quell'rname io in pratica rinomino pippo.dat in paperino.dat. E mi è stato detto che cosi facendo non si cambia il file logico associato ai vari file, ovvero facendo questa ridenominazione old rimarra un flusso logico che non è associato a nessun file, mentre ad rname si collegherà a paperino.dat che è appena stato rinominato.

Ho capito bene o mi sono perso qualche passaggio?