Писатель в файл с консоли

  • 7
  • Недоступна
Итак, вам нужно записать кое-что в файл. Для этого первым делом вы читаете с консоли имя файла, затем считываете строки до тех пор, пока пользователь не введёт слово exit и, наконец, выводите абсолютно все введённые строки в файл, каждую строчку с новой строки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (192)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Edffom14 уровень, Мирный
9 часов назад
первый раз решил через outputStream и конечно же был зарублен безжалостным валидатором... имя файла в файл записать не догадался, нет))
Sergey14 уровень, Москва
вчера, 16:32
Либо условие не верное, либо у автора кукуха альцгеймером больна. Зачем писать в условии про то, что АБСОЛЮТНО все введенные строки нужно записывать в файл, а потом заваливать тест, когда ты так и сделал?! В файл не нужно записывать введенную в консоль строку с именем файла, тогда будет счастье.
Роман Юрьевич14 уровень, Санкт-Петербург
4 октября, 20:04
Оказывается написал все правильно за 10 минут. Но когда начал проверять, действительно ли открывается нужный файл, а в него записывается строка с консоли, все пошло не так. Что бы я ни делал, у меня строка в файл никогда не записывалась. Спустя 2 часа страданий, раздумий и поисков зацепок в интернете, я предположил, что файл не изменяется, потому что я создаю его и пытаюсь изменить в системной папке. И для того, чтобы его изменить, надо было запустить IDEA от имени администратора! Как только я это сделал, у меня все заработало! Но столько времени потратить на такую херню... это в моем стиле :D. Ну что сказать, получил бесценный опыт.
Дмитрий14 уровень, Волгоград
6 октября, 14:57
Читать логи надо, там сразу пишут, что ошибка доступа к файлу. Тоже с этим столкнулся, но быстро перекинул с C: на D:
import life.*15 уровень, Москва
30 сентября, 20:55
String.format(string + "%n")
Сергей14 уровень, Минск
29 сентября, 13:00
некорректные условия: 1. Прочесть с консоли имя файла. 2. Считывать строки с консоли, пока пользователь не введет строку "exit". 3. Вывести абсолютно все введенные строки в файл, каждую строчку с новой строки. Требования: 7. Метод main не должен выводить данные на экран. Написал на запись так и вывод сразу с файла. все работает отлично. Но валидатор очень долго думает. Не проходил по времени, хотя все потоки были своевременно закрыты. Удалил метод вывода с фала все что было записано (хотя в задании тредовали вывод всегозаписанного) и о чудо, Вы решили задачу лучше, чем 14% учеников. Вам удалось ее решить с 5 попытки. Разработчики, ну вот Вы серьезно!? p.s. Может Ввести (или записать) абсолютно все введенные строки в файл, каждую строчку с новой строки. Тогда это сильно упрощает понимание. Если я не прав поправьте. К критике отнашусь адекватно.
Юрий15 уровень, Калининград
28 сентября, 06:24
Люди у многоих будет показывать ошибку по 5 пункту, но проблема в основном в считывании файла с консоли(хотя валидатор показывает что у вас это пункт сработал -врёт!!!!) его не надо вводить в коде, а вот так: BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter writer = new BufferedWriter(new FileWriter(reader.readLine())); и дальше цикл и.т.д. Промучился два дня!!!!! А с переносом строк добавьте writer.newLine(); после записи в переменную, в самом цикле.
Андрей Мурзин14 уровень, Казань
8 минут назад
Спасибо, добрый человек!
Derp 15 уровень, Санкт-Петербург
24 сентября, 18:53
то что я нашлепал writer.write("exit"); после вайла - это считается читом? можно ли было как-то по другому последнюю строку указать?
Tapt15 уровень, Москва
9 октября, 13:06
использовать do while
Ihor17 уровень, Киев
13 сентября, 15:00
у меня главная проблема была \\ поставить перед именем файла...
Dmitry Alexeev14 уровень
28 августа, 11:04
Условие задачи неверно сформулировано. Писать надо не все строки. Первую с именем файла нужно пропустить.
Kroak23 уровень, Москва
1 сентября, 20:39
С мыслью найти этот коммент и заходил сюда. Спасибо.
Zhenya Kononov20 уровень, Санкт-Петербург
8 августа, 20:31
Кто-нибудь может объяснить, зачем нужна такая конструкция? FileWriter fw = new FileWriter(fileName); BufferedWriter bw = new BufferedWriter(fw); Задачу решил, воспользовавшись примером из статьи о BufferedReader и BufferedWriter на JavaRush, но суть не могу уяснить Берется поток FileWriter и пихается в поток BufferedWriter? Зачем вообще нужен FileWriter? Можно ли обойтись без нее?
Павел Минеев38 уровень, Челябинск
22 августа, 13:19
Приведенный код можно сократить до следующего:
BufferedWriter bw= new BufferedWriter(new FileWriter(fileName));
Ничего не напоминает? :) А FileWriter это класс специально предназначенный для записи в файл, обойтись без него конечно же можно, но это примерно то же самое, что вместо того чтобы сортировать список с помощью Collections.sort, вручную сортировать его, скажем, сортировкой пузырьком. Т.е. разок в учебных целях можно, но не на постоянной основе это точно.