O File Writer substitui o Java de gravação anterior

try {
                File file = new File(filePath+"usedcommands.txt");
                if (!file.exists()) {
                    file.createNewFile();
                }
                FileWriter fw = new FileWriter(file.getAbsoluteFile());
                BufferedWriter bw = new BufferedWriter(fw);
                bw.write(input+"\n");
                bw.close();
            } catch(Exception e) { System.out.println("can't write to usedcommands.txt..."); }

Estou gravando em um arquivo txt, mas toda vez que executo o processo de gravação, ele substitui o que já está gravado lá. Como posso alterar meu código para que esta parte do programa não substitua o que já existe?

questionAnswers(2)

yourAnswerToTheQuestion