Подскажите, пожалуйста. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); Я считываю с консоли 2 имени файлов: String file1 = reader.readLine(); String file2 = reader.readLine(); Создаю поток на считывание данных из первого файла: FileInputStream inputStream = new FileInputStream(file1); Создаю поток на запись во второй файл: FileOutputStream outputStream = new FileOutputStream(file2); Когда я запускаю программу, получается, что данные из первого файла(из того где считываю)(file1) удаляются. Если я создам поток на запись вот так: FileOutputStream outputStream = new FileOutputStream(file2, true); - то данные из первого (file1) файла не удаляются. Мне понятно, что когда я дописываю true , то в file2 данные будут дописаны после имеющихся в file2. Вопрос: Почему наличие true при создании потока на запись(new FileOutputStream(file2, true)) изменяет работу потока на чтение? Они же вроде не связаны?