Sobre FileWriter, o que devo fazer para que a classe de escrita, não sobrescreva todos os caracteres contidos em um arquivo, sempre que uma nova escrita for feita neste arquivo?
Uma das coisas que vc pode fazer é usar este contructor:
public FileWriter(String fileName, boolean append) throws IOException
Ele recebe como primeiro argumento o nome do arquivo e o segundo diz se vc quer sobreescrever (false) ou apenas adicionar novos conteúdos (true).
Olha um exemplo:
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String... args) throws IOException {
try (final var f = new FileWriter("text.txt", true)) {
for (int i = 0; i < 5; i++) {
f.write(i + "\n");
}
}
}
}