Я хочу очистить содержимое файла перед записью в него. Я не хочу его удалять, я хочу очистить содержимое
Когда вы делаете
try (PrintWriter pw = new PrintWriter(new FileWriter(filename))) { pw.println(whatever);
это очищает / усекает содержимое файла перед записью в него того, что вы хотите. Это не удаляет файл.
Вы можете сделать это, используя PrintWriter, используя метод print и установив для содержимого значение Пустая строка.