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

  • 16
  • Недоступна
Итак, вам нужно записать кое-что в файл. Для этого первым делом вы читаете с консоли имя файла, затем считываете строки до тех пор, пока пользователь не введёт слово exit и, наконец, выводите абсолютно все введённые строки в файл, каждую строчку с новой строки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (457)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
🔧Дядя Богдан🔧 ♂ Механик с ключом на 24 в Клубе ΣKALA ♂
позавчера, 11:04
Сделал несколькими способами, один из которых был с использованием классов Files и Path. Так вот в этом варианте валидатор выдавал ошибку, что нет такого метода Path.of().
Sasha Dokuchaev Работает в Andersen
17 декабря 2021, 20:55
Немного погуглил, немного поклацал по кнопкам и решил с первой попытки. Какой же я крутоооооооооой
AlexVolt
Уровень 26, Penza, Russian Federation
1 декабря 2021, 18:10
Как закрыть цепочку потоков если не через try catch? PrintWriter bfw = new PrintWriter( new BufferedWriter(new FileWriter(textFile))); я же могу только bfw.close прописать ,вся цепочка закрывается сама собой? или нет? валидатор такой вариант не принимает, если только снимать обертку PrintWriter снимать и закрывать чисто BufferedWriter.....непонятно и для чего в решении StringBuilder непонятно, а это что , я совсем не понял writer.write(builder.toString()); решилось без этого
Kirill
Уровень 16
4 декабря 2021, 19:49
По условию хотят, чтоб использовался BufferedWriter, поэтому валидатор, видимо, проверяет закрытие именно этого объекта. В StringBuilder записывается каждая строка введенная в консоль + к ней апендится (т.е. добавляется) символ "/n", т.е. перенос строки. Это для того, чтоб потом, во время записи в файл не вспоминать, что каждую введенную ранее в консоль строку, записывать в файл тоже нужно с новой строки. writer.write(builder.toString()) - у объекта BufferedWriter с именем writer вызвали метод write() (т.е. записать) и передали в него объект StringBuilder с именем builder (т.е что именно записать), попутно преобразовав его в строку методом toString().
joke_jo Инженер-конструктор 2к.
13 декабря 2021, 17:00
Я использовал BufferedWriter, закрыл его в try-catch блоке. Не приняло. В файл пишет как в условии.
Kirill
Уровень 16
14 декабря 2021, 19:09
Если использовали try-with-resources, то он как-бы сам должен вызывать метод close(), если в круглых скобках try указать, все что нужно закрыть. Либо писать try без скобок, но добавлять блок finally, в котором вызывать метод close(). Не могу сказать, как это воспринимает валидатор. Но, вроде должен это принимать.
Sasha Dokuchaev Работает в Andersen
17 декабря 2021, 21:00
Круто раскидал, по полочкам
Рылов Кирилл
Уровень 34
21 ноября 2021, 16:33
Чтобы добавить перенос строки, можно использовать метод writer.newLine();
Василий
Уровень 24, Москва, Россия
15 января, 19:28
Либо bufferWriter.write(line + "\n")
Saturn
Уровень 15, Днепр, Украина
16 ноября 2021, 16:51
Очередная задача, которую сделал со слабым пониманием что и куда. Помогли ссылка про BufferedReader и BufferedWriter и видео Ну и если хотел увидеть что и как записывается в файл, то создал ArrayList и дополнительно добавлял и в него введенный текс, без него не смог бы увидеть ошибку.
DmitryTelepanov
Уровень 25, Магадан, Russian Federation
25 ноября 2021, 06:02
В твоей ссылке увидел первый пример и этого хватило для решения задачи
BufferedWriter bw = new BufferedWriter(new FileWriter("notes4.txt"))
Никита
Уровень 28, Минск, Belarus
14 ноября 2021, 20:35
последнее условие не согласует! что значит Метод main не должен выводить данные на экран? как сделать, чтобы данные не выводились в консоли после слова exit? и еще, у меня файл пустой. все ресурсы закрыты
Никита
Уровень 28, Минск, Belarus
15 ноября 2021, 09:04
на следующий день сам разобрался)
hamster🐹 ClipMaker в TikTok
13 ноября 2021, 15:07
как вариант
writer.write(line + "\n");
Grustnij Los'
Уровень 27, Санкт-Петербург, Russian Federation
12 ноября 2021, 20:35
что только не делал, пишется в файл в одну строчку и все тут
buffWriter.write(value);//(new StringBuilder().append(value).append("\n").toString());
БелК в труселях
Уровень 31, Покровск, Ukraine
8 ноября 2021, 14:23
Мне интересно задачи в про до 2000чел. решали, а эту около 35тыс. Это как?
Anonymous #2854513
Уровень 29, Великий Новгород, Russian Federation
12 ноября 2021, 13:40
они периодически удаляют задачи и добавляют новые
Михаил Кладовщик с кучей времени
6 ноября 2021, 10:38
BufferedReader и BufferedWriter можно одновременно записать в конструкции try with resourses разделив знаком ";"