JavaRush /Курсы /Java Core /Задачи на InputStream/OutputStream

Задачи на InputStream/OutputStream

Java Core
8 уровень , 5 лекция
Открыта

— Привет, Амиго! Я уже почти забыл, что тебе надо учиться. На вот, потренируй свой процессор.

5
Задача
Java Core, 8 уровень, 5 лекция
Недоступна
Исправить ошибки
Исправить функциональность в соответствии с требованиями. Программа должна: 1. Переписать все байты одного файла в другой одним куском. 2. Закрывать потоки ввода-вывода. Подсказка: 4 ошибки.
10
Задача
Java Core, 8 уровень, 5 лекция
Недоступна
Подсчет запятых
С консоли считать имя файла. Посчитать в файле количество символов ',', количество вывести на консоль. Закрыть потоки. Подсказка: нужно сравнивать с ascii-кодом символа ','.
20
Задача
Java Core, 8 уровень, 5 лекция
Недоступна
Разделение файла
Считать с консоли три имени файла: файл1, файл2, файл3. Разделить файл1 по следующему критерию: Первую половину байт записать в файл2, вторую половину байт записать в файл3. Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть. Закрыть потоки.
10
Задача
Java Core, 8 уровень, 5 лекция
Недоступна
Реверс файла
Считать с консоли 2 имени файла: файл1, файл2. Записать в файл2 все байты из файл1, но в обратном порядке. Закрыть потоки.
10
Задача
Java Core, 8 уровень, 5 лекция
Недоступна
DownloadException
1 Считывать с консоли имена файлов. 2 Если файл меньше 1000 байт, то: 2.1 Закрыть потоки работы с файлами. 2.2 Выбросить исключение DownloadException.
Комментарии (269)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
17 января 2026
Легкие задачи, сделал 5 задач за 30 минут
Grey Blog Уровень 20
28 ноября 2025
Реверс файла, код не компилируется на сервере, хотя локально всё норм BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String fileName1 = reader.readLine(); String fileName2 = reader.readLine(); try (FileInputStream fileInputStream = new FileInputStream(fileName1); FileOutputStream fileOutputStream = new FileOutputStream(fileName2)){ byte[] buffer = fileInputStream.readAllBytes(); int size = buffer.length; byte[] buffer1 = new byte[size]; for (int i = 0; i < size; i++) { buffer1[i] = buffer[size - 1 - i]; } fileOutputStream.write(buffer1); } }
FosTeR Уровень 28
2 марта 2026
Твой код работает не корректно. Я тоже подобное пытался реализовать выводится кракозябра. По причине: Представим что: A == [108, 64] когда делаешь реверс таким способом то получаем [64 , 108] != А.
Grey Blog Уровень 20
28 ноября 2025
Подсчет запятых не принимает код: if (fileInputStream.read() == 44) { commaCount++; } Валидатор принимает только: if (fileInputStream.read() == 44) commaCount++; Что за бред?
convulsivedeath Уровень 29
12 ноября 2025
12.11.2025
Anonymous #3585174 Уровень 33
2 сентября 2025
Like
Евгений Уровень 1
11 июня 2025
Эти 5 задач решал сегодня 8 часов 😆
Victor Уровень 40
19 мая 2025
Как будто через дебри пробираюсь - по 1-2 задаче в день.
Andrey Уровень 34
24 декабря 2024
В задаче про подсчет запятых не забудьте, что если вы пишите что-то вроде

char charToSearch = ',';
и поставите двойные кавычки интерпретатор будет считать, что вы пытаетесь пропихнуть String в char, а это типа невозможно)) и будет давать ошибку char указыввается в одинарных кавычках!
{Java_Shark} Уровень 36
25 ноября 2024
++
Pavel Fomchenkov Уровень 29
24 октября 2024
Использовать конструктор FileOutputStream с параметром append запрещено валидатором в задаче на разделение файла. Пришлось создать буфер на половину исходного файла + 1 байт чтобы точно влезло. А так хотелось использовать буфер своего размера...