Quello che mi pare di capire , secondo me sta proprio in questo il tuo errore , tu ottieni una riga alla volta il testo del file , a questa riga invochi il replace MA tu così hai modificato la stringa estratta (vedila come la copia) non la riga del file , quindi devi sovrascrivere il file con la riga modificata al posto di quella originale..

Una forse migliore soluzione (se il file da leggere non è troppo grande):
-istanzi uno StringBuilder
-tramite un BufferedReader (del tuo file) ottieni riga per riga il suo testo e man mano appendi tale riga nello StringBuilder
-una volta letto e ottenuto tutto il testo del file (che ora sta nello StringBuilder) invochi sul contenuto dello SB in formato stringa ( nomeStringBuilder.toString () ) il metodo replaceAll (stringaDaCambiare , nuovaStringa)
-procedi con la sovrascrittura del file con la nuova stringa (NON lo fa in automatico!!non stai modificando in realtà il testo del file ma una copia di esso)