Con quel tuo codice stai creando 2 istanze della classe GestioneFile.
Ciascuna avrà il suo stato (che non è condiviso con le altre per il principio di incapsulamento).
Di conseguenza, passando a ciascuna istanza la stringa del percorso, ciascuna istanza andrà a creare un BufferedReader diverso, e ciascuno di questi BufferedReader sarà posizionato all'inizio del file. Quindi, la chiamata al metodo leggi() non farà altro che prendere la riga "attualmente puntata", leggerla e portare avanti il puntatore.
Essendo due istanze diverse, con ciascuno un proprio stato, ciascuna sarà posizionata all'inizio del file, quindi ciascuna produrrà solo la prima riga del file.
Se vuoi che ad ogni chiamata venga letta una nuova riga dal file, allora crea UNA sola istanza della classe GestioneFile e solo su quella chiameri più volte il metodo leggi().
Ciao.![]()