Итак, вам нужно записать кое-что в файл. Для этого первым делом вы читаете с консоли имя файла, затем считываете строки до тех пор, пока пользователь не введёт слово exit и, наконец, выводите абсолютно все введённые строки в файл, каждую строчку с новой строки.
Писатель в файл с консоли
- 16
Недоступна
Комментарии (495)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Denis Malyshev QA в Sber
14 июня, 19:25
Лень думать и гуглить, просто взглянул на решение, посмотрел какие объекты там используются и по логике все легко написал, за 2 попытки. решение несложное, просто нужен опыт написания потоков и работы со StringBuilder. Все больше убеждаюсь, что без практики любая теория это бесполезная трата времени.
+1
Lyokha Blagodatskikh
7 июня, 10:01
Собрал строки в ArrayList и потом записал в файл вот такой строчкой:
for (String str: list) writer.write(s);
и вот смотрю на неё, и думаю, наверняка её как то в потоке через вызов метода можно переписать, но как не могу допедрить... что то типа:
list.stream().forEach(writer::write); - но это я фигню написал, но вы думаю поняли, что я хочу и имел ввиду.
0
se8509
12 июня, 19:27
По пробуйте посмотреть с другой стороны, например поменять тип данных в который принимаются значения
0
Sergey Paleny
31 мая, 12:51
Решил со второй попытки, в первой попытке забыл в конце добавить в файл Exit.
Строки вводил при помощи Scanner и сохранял в ArrayList<String>. Потом записал в файл.
Пользовался Scanner-ом, потому что не понимаю как по-другому вводить текст с консоли, пойду разбираться как это сделано в правильном решении... Всем удачи! И, главное, ТЕРПЕНИЯ!!!
+1
Lexman (Алексей)
позавчера, 17:52
Ахахах, также забыл Exit добавить, но сделал немного по-другому. Создал цикл While и в нем построчно читал данные, проверяя на Exit.
0
Viktor QA Automation Engineer
24 мая, 07:12
Валидатор не пропускает. "Метод main должен закрывать объект типа BufferedWriter после использования." Объект типа BufferedWriter = writer закрывается....writer.close(); Где ошибка?
0
papsnaz
22 мая, 22:07
Почему не хочет работать? Подскажите плиз
0
Blynchik Работает в Pegas Touristik
24 мая, 07:03
Насколько я понял, в do-while ты вызываешь bufferedWriter, он считывает с клавиатуры, и потом ты это записываешь (первая строка в блоке do). Потом ты снова вызываешь bufferedWriter, он считывает с клавиатуры, но уже ничего не записывает, а просто переносит строку (вторая строка в блоке do). А уже потом происходит проверка. Поэтому, мне кажется, у тебя запись через раз.
0
papsnaz
25 мая, 18:16
Да, ты прав, понял это в следующих задачах
0
Kidchai
19 мая, 21:36
Задача класс, побольше бы упражнений на потоки!
+1
AlekseyS
13 мая, 18:13
Ребят, кто с курса Java Syntax Pro, не используйте классы Files и Path. Валидатор не примет - не увидит создание объекта BufferedWriter. Пора бы обновить задачку.
+2
Anonymous #2934468
27 мая, 15:05
это задача на ИО, а не на НИО. что тут обновлять? не считая самого решения. я выше написал почему.
0
wshamin
14 июня, 18:52
Спасибо тебе!
Невероятное количество времени и сил сэкономлено мне этим ответом)
0
Ivan T
11 мая, 09:07
outputStream.newLine(); не пропускает.
Интересно кто пишет валидаторы?
+1
Buenos
7 мая, 16:02
как корреспондирует с темой задача - не очень понял
0
Buenos
7 мая, 16:02
сделал через ArrayList - вводил новые строки до exit, а потом Буферридером в 4each все записал в файл
0