Используйте pw.append( bytes );
или
Использовать конструктор присоединения FileOutputStream FileOutputStream(File file, boolean append)
Использование метода конструктора, вероятно, несколько более эффективно, поскольку файл можно открыть в режиме добавления без необходимости каждый раз искать конец. Однако я не уверен в этом, поэтому вам следует проверить в своей среде, важно ли это для вас.
Кроме того, не игнорируйте советы Кгианнакакиса. Он прав, что PrintWriter ожидает текст, а не двоичные данные.