In generale, non è fattibile. Nel senso che all'interno di un file i byte non si possono fisicamente inserire/eliminare in modo che il resto seguente si "sposti" avanti o indietro. Vale in generale ... non è una questione di Java o non Java.
Per cambiare righe in mezzo ad un file:
- si legge tutto il file, si mettono le righe in memoria in una qualche struttura dati (lista, array), poi si modifica tale struttura e infine si riscrive tutto il file.
oppure
- se la modifica è fattibile al "volo" riga per riga, si legge una riga per volta, si decide cosa scrivere nella riga e la si appende al fondo di un altro (nuovo) file.