JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/помогите пожалуйста
Tim Mukhamet
23 уровень
  • 22.05.2020
  • 417просмотров
  • 2комментариев

помогите пожалуйста

Вопрос по задаче Запись в файл с консоли
Java Core,  3 уровень,  11 лекция
Обсуждается

В этой задаче тебе нужно:

  1. Прочесть с консоли имя файла.
  2. Считывать строки с консоли, пока пользователь не введет строку "exit".
  3. Записать абсолютно все введенные в п.2 строки в файл: каждую строчку — с новой строки.

Требования:
  • Программа должна считывать c консоли имя файла.
  • Создай и используй объект типа BufferedWriter.
  • Программа не должна ничего считывать из файловой системы.
  • Программа должна считывать строки с консоли, пока пользователь не введет строку "exit".
  • Программа должна записать все введенные строки (включая "exit", но не включая имя файла) в файл: каждую строчку — с новой строки.
  • Метод main должен закрывать объект типа BufferedWriter после использования.
  • Метод main не должен выводить данные на экран.
package com.javarush.task.task13.task1319; /* Писатель в файл с консоли */ import java.io.*; public class Solution { public static String i; public static void main(String[] args) throws IOException{ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String fileName = reader.readLine(); FileWriter file = new FileWriter(fileName); BufferedWriter writer = new BufferedWriter(new BufferedWriter(file));// напишите тут ваш код do{ i = reader.readLine(); writer.write(i); }while(!i.equals("exit")); writer.close(); } }
0
Комментарии (2)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владислав Backend Developer
22 мая 2020, 12:23
13 строчка в скобках должно быть new FileWriter, вместо new BufferedWriter. Либо просто используй уже созданную переменную file. То есть, так:
BufferedWriter writer = new BufferedWriter(file);
0
Владислав Backend Developer
22 мая 2020, 12:31
И название переменной должно быть не file, а, например, fileWriter. Потому что ты создаешь не объект файла, а объект потока ввода-вывода. И если кто-то другой будет читать твой код, то будет сложно разобраться, видя перед собой файл, который, на самом деле, является потоком. Вот так:
FileWriter fileWriter = new FileWriter(new File(fileName));
будет ок) Но и твой вариант тоже ок. Просто я продемонстрировал, чем отличается объект файла от потока.
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush