Java. Копировать код из одного файла в другой, не удаляя при этом данные из второго файла

Есть код, который копирует содержимое файла1 в файл2. При этом, если в файле2 уже имеются собственные данные, они стираются. Подскажите, пожалуйста, как изменить код таким образом, чтобы имеющиеся в файле2 данные не стирались при копировании в файл2 данных из файла1?

public class xxx {
    public static void main(String[] args) throws IOException {

       FileInputStream input = new FileInputStream("C:\\Users\\natal\\Desktop\\example1.txt");
       FileOutputStream output = new FileOutputStream("C:\\Users\\natal\\Desktop\\example2.txt");

       while(input.available() > 0) {
           int data = input.read();
           output.write(data);
       }

        input.close();
        output.close();
    }
}

Ответы (1 шт):

Автор решения: Ramiz

смотрим в сорсы FileOutputStream

public FileOutputStream(String name) throws FileNotFoundException {
    this(name != null ? new File(name) : null, false);
}

т.е. внутри этого конструктора вызывается другой конструктор:

public FileOutputStream(File file, boolean append)
    throws FileNotFoundException
{
...

причем второй параметр - append - по дефолту false, а нам нужен true, чтобы файл не перезаписывался, а дописывался, т.о. Ваш код надо поменять только в одной строчке:

FileOutputStream output = new FileOutputStream(new File("C:\\Users\\natal\\Desktop\\example2.txt"), true);
→ Ссылка