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

  • 20
  • Недоступна
А теперь пороемся в файлах студентов… И реализуем логику записи в файл/чтения из файла для класса JavaRush с данными учеников. Метод main реализован только для вас и не участвует в тестировании.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (339)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Татьяна20 уровень, Ростов на Дону
понедельник, 20:34
1. инициализируйте поле users для объекта javaRush тут нужно создать хотя бы одного User со всеми его полями и поместить в список users объекта javaRash 2. Дальше мне легче было прописать логику, как доставать из файла (предполагаю что записано все с новой строки) по строке, каждая из которых соответственно: Имя Фамилия Дата рождения ЕстьлиЕмейл Страна Далее Создать нового юзера присвоить все это нужным переменным этого юзера Добавить его в список юзеров, Достаем из файла каждого юзера и добавляем в список юзеров)) 3. следующим пунктом я записала из списка юзеров в файл всех юзеров по порядку: для первого Имя Фамилия Дата рождения ЕстьлиЕмейл Страна и пока юзеры не закончатся как-то так))
MonsieurVictor20 уровень, Киев
понедельник, 12:35
Полистал комменты, народ борется с какими-то миллисекундами, велосипедами и тд. Для меня оказалось проще сначала посмотреть пару роликов из этой лекции про сериализацию объектов целиком, а затем решить в 9 строчек кода,. В цикле надо проверять не ois.available() > 0, a inputStream.available() > 0 и класс User должен быть Serializable. Всем успехов! )
Vitalachka20 уровень, Лондон
4 июля, 21:36
ёПrst рекомендация от ментора Убедись, что дни рождения пользователей корректно записываются и читаются, с точностью до миллисекунд. 😬🤣🤦‍♀️
Vitalachka20 уровень, Лондон
4 июля, 23:50
😁 миллисекунды застали меня врасплох! не получилось у меня использовать SimpleDateFormat и только в разделе помощь увидела кто-то умудрился скормить Вале это "EEE MMM dd HH:mm:ss.SSS z yyyy". У меня не заработало! А заработало через long и getTime() В разделе "помощь" увидела у многих в коде проверка на null на всех полях юзера. Этого не надо, достаточно проверить не пуст ли список юзеров. Требование 1: "....должна работать корректно в случае, если список users пустой."
Alexandr Mihailovich20 уровень, Kursk
пятница, 12:18
ага, задача проще простого, только как можно было догадаться о дате вообще, если этот пункт нигде не указан. Я сохранил 01//01/2001 и считал также. какие миллисекунды? вы о чем
Андрей20 уровень, Львов
30 июня, 18:42
Задача неберучка для просмотра что же сохраняется и что же выгружается. Главный пункт - не создавайте никаких конструкторов в классе юзер!! создаем екземпляр юзера, затем: User ivanov = new User(); ivanov.setFirstName("Ivan"); ivanov.setLastName("Ivanov"); ivanov.setBirthDate(new Date()); ivanov.setMale(true); ivanov.setCountry(User.Country.UKRAINE); добавляем после этого пользователя в список юзера (я сделал еще 2 - петрова и англичанку) Метод save - Валентин ругается что нет проверки на 0 списка - ставим if (users.size() > 0) и проганяем фор ичем. В самом цикле также делаем проверку полей или они не равны нуль - Валентин очень злой - пока не проверил писал что проверь или список не пустой. Не забываем выставить секунды if (user.getBirthDate() != null) writer.println(user.getBirthDate().getTime()); - иначе Валентин удивляется а как это ты не помнишь свою дату рождения? в методе лоад самым сложным было поле булин - но решилось просто user.setMale(Boolean.parseBoolean(bufferedReader.readLine())); Дата парсится также только лонг, ну а в кантри не забываем указать user.setCountry(User.Country.valueOf(bufferedReader.readLine())); Дальше выясняем или равны объекты. Ну и для пущей проверки проверяем фор ичем список юзеров и лоад объекта
Леонид24 уровень, Сургут
25 июня, 06:44
Самое забавное, что как выяснится дальше для этого всего есть вполне удобные инструменты и на кой хер надо в этом копаться мне искренне не понятно
Yulia26 уровень
15 июня, 21:23
что за бред - дата рождения с точностью до миллисекунд!
СЕРГЕЙ24 уровень, Озёрск
27 мая, 23:32
Да, дата рождения с точностью до миллисекунд это подстава подстав!
Дмитрий22 уровень
12 июня, 10:53
Согласен с тобой полностью. Какой в этом смысл? Я сделал через SimpleDateFormat - просто дату рождения в виде числа, месяца и года. Но надо знать дату рождения юзера до миллисекунд! (мы то точность и до часа не знаем, как правило)
Wally Dator22 уровень, Чехов
16 июня, 08:51
А если этот User не человек, а Бозон Хиггса ! Тогда важно всё: и страна происхождения, и миллисекунды, и пол).
Дмитрий22 уровень
16 июня, 11:03
Тогда миллисекунды не важны, и все указанное, ведь там работают квантовые величины. Все таки есть ОДЗ для объекта и важно понимать область применяемых значений.
Arseny Pogreb25 уровень, Екатеринбург
27 мая, 13:19
вообще не понимаю что требуется сделать
Georgii26 уровень, Краснодар
21 мая, 10:27
Блин, а формат файла для загрузки трудно прикрепить? Почему-то обязательно писать размер листа users и каждый параметр пользователя в отдельной строке. Я реализовал сначала данные одного пользователя в одной строке и без размера листа users. У меня все работает, у валидатора - нет. При этом сообщается что вываливается какая-то ошибка в методах save/load, а какая и где - хз. Не, я не против что мы учимся и можно почитать обсуждение/помощь... в общем, спасибо всем)
Илья Кабаков35 уровень, Санкт-Петербург
21 мая, 08:55
рекомендация от ментора "Убедись, что дни рождения пользователей корректно записываются и читаются, с точностью до миллисекунд." А зачем?=). Надо бы или явно указывать это в тексте задачи, или подобрать более подходящие по смыслу поле для этого.