JavaRush /Курсы /Java Collections /Задачи | 2 уровень | 2 лекция

Задачи | 2 уровень | 2 лекция

Java Collections
2 уровень , 2 лекция
Открыта

— Привет, Амиго!

14
Задача
Java Collections, 2 уровень, 2 лекция
Недоступна
Запись в существующий файл
В метод main приходят три параметра: 1) fileName - путь к файлу; 2) number - число, позиция в файле; 3) text - текст. Записать text в файл fileName начиная с позиции number. Запись должна производиться поверх старых данных, содержащихся в файле. Если файл слишком короткий, то записать в конец файла.
14
Задача
Java Collections, 2 уровень, 2 лекция
Недоступна
Используем RandomAccessFile
В метод main приходят три параметра: 1) fileName - путь к файлу; 2) number - число, позиция в файле; 3) text - текст. Считать текст с файла начиная с позиции number, длинной такой же как и длинна переданного текста в третьем параметре. Если считанный текст такой же как и text, то записать в конец ф
Комментарии (79)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
CodeMashine Уровень 33
19 мая 2025
привет и в лицо тебе задачки которые не пригодятся никогда в жизни скорее всего. ну и валидатор видит большую разницу в writeBytes и write(String.getBytes()) ;
Ioanna Polyak Уровень 43
14 июля 2025
Жиза
Евгений Пикин Уровень 46
30 апреля 2025
На удивление валик проглотил тернарный оператор

raf.write( readString.equals(text) ? "true".getBytes() : "false".getBytes());
{Java_Shark} Уровень 36
17 января 2025
++
Sergey Уровень 36
8 декабря 2024
Мда друзья, читайте условие. Написано "Считать текст с файла начиная с позиции number, длиной такой же как и длина переданного текста в третьем параметре". А не просто считать текст от number и до конца. Много попыток из-за этого потратил. Как пример для таких вводных - в файле "acdefg", number=2, text="de" должно выдать true.
7 декабря 2024
90% времени потрачено на ублажение валидатора
21 марта 2025
99.99999999%
ElenaN Уровень 37
16 декабря 2023
Прочитала условия и все показалось просто, а среднее количество попыток 2.97, как у хардовой задачи... Явный подвох... В итоге сама сделала с третьей попытки 🤦‍♀️, валидатору надо только

randomAccessFile.write(text.getBytes());
и не принимал ни по оlному!!! пункту из-за этого, пока я это не поправила...
Popka Уровень 24
21 июля 2023
В первой задаче валидатор не пропустил только из-за того что длину файла я выявил не через randomAccessFile.length() а через FileInputStream inputStream = new FileInputStream(args[0]); inputStream.available() Казалось бы да, первый варик корректнее с точки чистоты кода, но оба они рабочие и оба выдают один и тот же результат. Я думал валидатор оценивает результаты, а не в принципе как код написан. Это наталкивает на мысль о том, что вариативность заметно уменьшается. Теперь ты обязан писать только так как хочет валик, при этом ты должен угадать КАК ИМЕННО он хочет. А все твои 100500 вариантов решения задачи идут ...
Archy Уровень 1 Expert
6 ноября 2023
Судя по опыту, в некоторых заданиях валидатор оценивает только выходные данные, а в некоторых ещё сам код
AhanSere Уровень 1
9 ноября 2023
создавать лишний стрим, только чтобы узнать длину файла, когда ее можно узнать из уже существующего объекта - ИМХО это не только не корректно с точки зрения чистоты кода, а это лишний расход ресурсов, за что на нормальном месте могут оторвать руки
Ilya.P Уровень 43
28 января 2023
Задача простая, описание задачи хромает
Алексей С Уровень 33
22 июля 2022
1 задание особых проблем не вызвало, а 2 запутало в описании.
Серега Батенин Уровень 12
15 января 2023
больше раздражает, что валидатор не принимает, когда ты используешь другие методы, например writeBytes(String s) вместо write("text".getBytes()) или когда читаешь как они просят через read() в который закидываешь предварительно созданный массив такого же размера как текст, который надо считать, но нет ему надо явно написать что от 0 до размера массива.. Вот такие ситуации конечно раздражают
Bigborg Уровень 51
5 июня 2022
Совет всем забить на Валю и проводить свои тесты. Потому что всерьёз его воспринимать просто нельзя :)
Виктор Уровень 1
6 ноября 2022
ну не скажите, вроде в этих заданиях сильно валидатор не придирался. Хотя я сам попался на том, что использовал raf.read(buffer); вместо raf.read(buffer, 0, text.length());