Il punto è che se usi writeUTF, il file non è più considerabile un file di testo "puro" (per via del formato molto specifico scritto), quindi non sarebbe più appropriato leggerlo con altre API (es. readLine() di BufferedReader) e nemmeno editarlo "a mano" con un editor di testo puro.
Quindi quale è l'obiettivo finale? In altre parole, come devi poter operare sul file?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Mi spiace ma, detto in generale, inserire/rimuovere fisicamente byte in testa/in mezzo ad un file non è possibile. La cosa richiede di norma la riscrittura dell'intero file.
A meno che ti inventi un tuo formato di file basato su "record" o con una struttura che permette di indicizzare e/o sparpagliare dati. Ma ovviamente non sarebbe più testo "puro" e richiederebbe una certa mole di lavoro .... sconsigliato.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet