JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/коллеги будьте добры подскажите что не так???
Kris86
1 уровень
  • 30.12.2022
  • 378просмотров
  • 4комментариев

коллеги будьте добры подскажите что не так???

Вопрос по задаче DownloadException
Java Core,  8 уровень,  5 лекция
Решен


1 Считывать с консоли имена файлов.
2 Если файл меньше 1000 байт, то:
2.1 Закрыть потоки работы с файлами.
2.2 Выбросить исключение DownloadException.

Требования:
  • Программа должна считать имена файлов с консоли.
  • Для чтения из файлов используй поток FileInputStream.
  • Программа должна работать, пока введенный файл не окажется меньше 1000 байт.
  • Программа должна завершиться исключением DownloadException.
  • Поток FileInputStream должен быть закрыт.
....
package com.javarush.task.task18.task1810; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* DownloadException */ public class Solution { public static void main(String[] args) throws DownloadException, IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (true) { FileInputStream input = new FileInputStream(reader.readLine()); input.close(); if (input.available() < 1000) { throw new DownloadException(); } reader.close(); } } public static class DownloadException extends Exception { } }
0
Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ra
Уровень 66
Student
30 декабря 2022, 09:03
Мысленно проведите эксперименты: 1) как ДОЛЖНА вести себя программа, если файл больше 1000 байт, и как она СЕЙЧАС себя ведёт. 1) как ДОЛЖНА вести себя программа, если файл меньше 1000 байт, и как она СЕЙЧАС себя ведёт. Прямо по шагам. Внимательно посмотрите на строки 17-21, не нарушена ли логика Еще вариант - пройдитесь в отладчике, с тестовым файлом. Ставьте остановку на строке 15, запускайте отладку, и через F8 проходите и смотрите, как работает программа и как должна работать
+1
Kris86
Уровень 1
30 декабря 2022, 15:49
Благодарю Вас!
0
hidden #598481
Уровень 27
30 декабря 2022, 08:33
1. Если первым ввести имя файла размером больше 1000 байт, то сработает закрытие System.in, и возникнет исключение при попытке чтения закрытого потока. 2. Если сразу ввести имя маленького файла, то будет выброшено исключение DownloadException, и закрытие потока System.in не сработает.
+1
Kris86
Уровень 1
30 декабря 2022, 15:50
Благодарю Вас!
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush