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);