Если вы работаете с методами FileOutputStream, каждый раз, когда вы пишете файл с помощью этих методов, вы потеряли свои старые данные. Возможно ли записать файл без потери старых данных через FileOutputStream?
Как записывать данные с помощью FileOutputStream без потери старых данных?
Ответ 1
Используйте конструктор, который принимает File и boolean
FileOutputStream(File file, boolean append) 
и установите для boolean значение true. Таким образом, данные, которые вы пишете, будут добавлены в конец файла, а не переписывать то, что уже было там.
Ответ 2
Используйте конструктор для добавления материала в файл: 
FileOutputStream(File file, boolean append)
Creates a file output stream to write to the file represented by the specified File object.
Итак, чтобы добавить к файлу "abc.txt", используйте
FileOutputStream fos=new FileOutputStream(new File("abc.txt"),true);