public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter("C://Users//Читатель//Desktop//Text.txt"); // подчёркивает
//адрес красным.
// Идея в подсказке пишет, что он требует класс Writer в качестве аргумента.
String s = null;
for(;;){
List<String> arr =new ArrayList<>();
s = br.readLine();
arr.add(s);
if (s =="exit"){
arr.add(s);
bw.write(String.valueOf(arr),0, arr.size()); // записать все файлы.
break;
}
}
bw.close();
}
}
Что мне делать не поймуКарбофос Огарин
14 уровень
Ошибка в BufferedWriter
Обсуждается
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAExpert
13 апреля 2021, 10:47
https://javarush.com/groups/posts/593-bufferedreader-i-bufferedwritter?post=full#discussion
Класс BufferedWriter имеет следующие конструкторы:
В качестве параметра он принимает поток вывода, в который надо осуществить запись. Второй параметр указывает на размер буфера.
Нет конструктора принимающего строку
0
Карбофос Огарин
13 апреля 2021, 11:09
Точно в цель! Отлично, всё получилось!
Теперь другое сообщение об ошибке)
0
KIRAExpert
13 апреля 2021, 11:13полезный
Вы захардкодили путь к файлу, а по заданию его нужно ввести с консоли
С каждым проходом цикла вы будете создавать новый список
List<String> arr =new ArrayList<>();
s =="exit" строки так не сравнивают
вы дважды записываете в список слово exit
сперва в 10 строке потом в 12
Вместо вот этого bw.write(String.valueOf(arr),0, arr.size());
Напишите отдельный цикл прохода по листу и запись каждого элемента, не забудьте добавить пробелы или иные разделители которые указаны в задаче
+1
Карбофос Огарин
13 апреля 2021, 11:52
0
KIRAExpert
13 апреля 2021, 11:57
Что в переменной s?
для чего вы проходите по списку если записываете каждый раз ее
0
Карбофос Огарин
13 апреля 2021, 12:12
Добавил
но это не помогло. Вообще в моей вселенной 0
KIRAExpert
13 апреля 2021, 12:16
bw.write(s); Вы записываете то что в переменной s
String s = br.readLine(); ввели "Картошка" в переменной s = "Картошка"
s = br.readLine(); ввели "exit" в переменной s = "exit"
bw.write(s); записываем s (exit) - никакого отношения к списку она не имеет
0