Читаем и пишем в файл: JavaRush

  • 20
  • Недоступна
Реализуй логику записи в файл и чтения из файла для класса JavaRush. Пустых полей у объекта User быть не может. Дату в файле удобно хранить в формате long. Метод main реализован только для тебя и не участвует в тестировании.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (440)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
milyasow
Уровень 30, Москва, Russian Federation
23 июня, 20:45
Во время решения не отпускала мысль, что-же делать с hashcode, ведь у нас два разных экземпляра JavaRush, у каждого из них свой объект List<User> users, значит, по идее, может быть разный hashcode для этих объектов, и они не будут равны. Но нет, все в порядке: hashcode для коллекций вычисляется по содержимому.
Сонмониус
Уровень 33, Харьков, Ukraine
20 июня, 19:09
Нормальная задача, но допишите пожалуйста в условие, что дату обязательно нужно хранить в long. Потому что "Дату в файле удобно хранить в формате long", это как бы необязательная рекомендация и мне к примеру удобней было это делать через SimpleDataFormat, но валидатор так не принимает. В требованиях, нигде не прописано, что нужно обязательно делать через long.
CyberBoar
Уровень 36, Russian Federation
14 апреля, 07:19
Задачи этой лекции - первые задачи, которые я тупо скопировал из готового решения. Без каких либо угрызений совести. Это не пригодится вообще никогда и нигде.
Nikolay Veselov
Уровень 42, Stavropol, Russian Federation
3 апреля, 11:36
2 попытки просто потому что забыл сделать перенос строки после первой записанной строки)
Салават Шакиров Backend Developer в СберТех
21 марта, 18:06
С датой можно сохранять и получать в long. save: printWriter.println(user.getBirthDate().getTime()); load: user.setBirthDate(new Date(Long.parseLong(date)));
KOTNinja
Уровень 32, Санкт-Петербург, Россия
7 марта, 16:00
Господи, пол часа сидел, пытался понять, почему в файле оказывается одна запись. Балбес, в методе сэйв класса юзерс, вызывающемся из метода сэйв класса джавараш закрывал райтер, вместо флаша!
Mikhail Efimov
Уровень 35, Санкт-Петербург, Россия
24 февраля, 13:59
Для меня было шоком решить ее с первой попытки, так как в последних задачах валидатор бушует на всякие мелочи, напомню что есть методы PrinStream и PrinrWriter в которых есть метод println, так сможете напрямую работать с потоком и писать построчно с переносом строки, не забываем закрывать потоки для их нормальной работы!
The Body of the Atr
Уровень 51
19 февраля, 19:32
Валя не принимала: Логика чтения/записи реализованная в методах save/load должна работать корректно в случае, если список users пустой. - долго не мог понять что же нужно записывать, если записывать нечего, может null? Оказалось, что в методе лоад нужно сделать проверку, что длинна списка >= числа требуемых параметров для юзеров. Тогда Валя согласилась, но осталось непонятным, вот аргументов ноль в списке и метод лоад не отработал - это разве корректно? То есть создал объект явараш, а юзеров не добавил, получается такой объект не сохранится/не загрузится.
Сергей Коваленко
Уровень 37, Краснодар
20 января, 18:49
раз уж используем в load() BufferedReader, то почему бы не разделять строки "\n" в save(). Тогда в load() можно просто использовать удобный .readLine() вместо распила строки.
Михаил Кладовщик с кучей времени
20 января, 10:05
Что за временный файл, и где он расположен можно увидеть при помощи
System.out.println(System.getProperty("java.io.tmpdir"));
открывается простым блокнотом