Дублируем текст

  • 12
  • Недоступна
Считайте с консоли имя файла. В main подмените объект System.out написанной вами ридер-оберткой. Ридер-обертка должна дублировать вывод всего текста в файл, имя которого было считано. Вызовите готовый метод printSomething(), воспользуйтесь testString и верните переменной System.out первоначальный поток. Закройте поток файла.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (130)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Igor Petrashevsky
Уровень 34
17 мая, 22:30
я бы сказал, что требования задачи не вполне прозрачные. написали бы, мол testString.printSomething(); печатает в адаптер, а мы выводим в консоль и файл ByteArrayOutputStream без адаптера
PROaction
Уровень 23, Москва, Россия
26 января, 15:41
Зачем усложнять и использовать ByteArrayOutputStream, если можно сделать сразу в PrintStream запись в файл:
String fileName = consoleReader.readLine();
PrintStream outputStream = new PrintStream(fileName);
Yuri_S Инженер-конструктор 2к.
28 января, 08:49
Тоже сделал сразу запись в файл, а потом ридером из файла выводил на консоль. Ессно валидацию не прошло, видимо нужен именно один объект ByteArrayOutputStream, из которого одни и те же данные запишутся и в файл и в консоль.
Sergey Kornilov
Уровень 38, Petropavlovsk, Казахстан
21 ноября 2021, 13:10
Всего эту задачу решили 18635 учеников. Победил легко.
29 октября 2021, 12:36
Задача интересная... но нужно обязательно посмотреть про ByteArrayOutputStream, про его методы в частности: - public String toString() throws IOException; - public void writeTo(OutputStream outSt) throws IOException. И если я правильно понимаю, по-хорошему тут бы еще надо byteArrayOutputStream.reset(); Или я что-то не понял...?
Serg
Уровень 36, Санкт-Петербург
29 октября 2021, 08:11
Блин кучу попыток потратил, пытаясь одновременно отправить и в консоль и в файл! А по факту отправляем строку в файл, закрываем потоки, возвращаем System.out обратно и эту же строку просто печатаем в консоль...
БелК в труселях
Уровень 35, Покровск, Ukraine
19 декабря 2021, 06:01
Доброе утро. Аналогично после лекции хотел повторить, потом плюнул и сделал как всегда.
Михаил
Уровень 22, Санкт-Петербург
13 сентября 2021, 05:22
\r\n
Вот, что сгубило. Бич божий...
Nick
Уровень 20
15 июля 2021, 18:47
должен выводить и в консоль и в файл строку выведенную методом Из-за этой фразы можно подумать, что есть возможность настроить System.out.println вывод сразу и в консоль и в файл. Но к сожалению это не так, сначала выводим в файл, потом возвращаем всё на место и уже потом выводим в консоль. т.е. могли бы более понятнее написать задание.
Dima
Уровень 32
15 июля 2021, 16:20
byteArrayOutputStream.writeTo(fileOutputStream);
Дмитрий Сысоев
Уровень 31, Россия
3 июля 2021, 21:26
fileOutputStream.write(byteArrayOutputStream.toByteArray());
Владимир Рекин
Уровень 41
8 июля 2021, 14:57
fileOutputStream.write(myString.getBytes)
Станислав
Уровень 22
18 февраля, 12:28
byteArrayStream.writeTo(fileOutputStream);
Антон
Уровень 23, иваново, Россия
14 мая 2021, 17:49
Привычка выработанная годами 19ю уровнями - в требованиях может быть явная подсказка. Поэтому читаем только условие, делаем запись через BufferedWriter, отправляем на проверку, понимаем что были дополнительные условия в требованиях, выполняем и их - задача решена 😝
Artjoms Mohorins
Уровень 24
23 ноября 2021, 19:28
Вот честное слово все так и было. Только не отправил на проверку а решил прочитать требования еще раз и сразу поправил. Уже приучился перепроверять перед отправкой ))))