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

  • 20
  • Недоступна
Реализуй логику записи в файл и чтения из файла для класса Human. Поле name в классе Human не может быть пустым. Метод main реализован только для вас и не участвует в тестировании.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (395)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hint1k
Уровень 32
14 сентября, 06:45
Бессмысленная задача. Все такие задачи пропускаю. Потому что задачи должны быть на логику. Здесь ее нет. Либо знаешь что надо делать, либо не знаешь. Поскольку как новичок в программировании такое никогда раньше не встречал, то не знаю. Гуглить решение в данном случае - потеря времени, гораздо быстрее - просто посмотреть правильное решение. Одно хорошо, таких бессмысленных задач в курсе крайне мало. P.s. и правильное решение тоже вызывает вопросы. 1) Зачем например в методах load() и save() ключевое слово this? Правильный ответ - оно нафиг не нужно. Потому что требуется только когда JVM не может понять, какой из двух полей имеется ввиду. Тут поле name и поле assests - в одном экземпляре и программа прекрасно будет работать без this. 2) и почему в main не прописан outputStream.close() - по идее надо закрыть. 3) почему в методе save() не прописан printWriter.flush() - по хорошему - надо прописать.
papsnaz
Уровень 32, Самара, Russian Federation
5 сентября, 14:59
Изи 👺
Николай Данилов
Уровень 23, Москва, Russian Federation
4 сентября, 19:44
задача изи на самом деле, но в условии надо добавить, что параметры в методе save и load должны оставаться неизменными. я сразу в буферы все перевел и передавал буферы, а он не принимал( потом определил буферы в самих методах и сразу принял)
TripleAsh
Уровень 32, Киев, Ukraine
29 августа, 15:26
JavaRush be like... Поздравляем с новым уровнем, теперь мы разберём важную тему сериализации, по этому вот вам задачка на то, как справлялись с этим до появления сериализации 🤡
An N
Уровень 29, Cheboksary, Russian Federation
14 августа, 10:59
Как увидеть в папке файл созданный при помощий createTempFile? После outputStream.flush(); написал Thread.sleep(8000); чтобы посмотреть папку до окончания работы программы. В папке C:\Windows\Temp сделал Показывать скрытые файлы. Но никакие новые файлы не появляются.
Ivasishinav
Уровень 30, Минск, Беларусь
25 августа, 11:45
Для проверки, что пишет в файл, можете немного подправить путь к файлу:
File your_file_name = new File("D:\\2.txt");
где D:\\2.txt - ваш путь
An N
Уровень 29, Cheboksary, Russian Federation
14 августа, 10:45
Почему отсутсвует outputStream.close() ?
RomanGV
Уровень 26, Россия
3 августа, 22:36
"Oops, something wrong with my life" Дом за лям, а тачка за три тыщи... 😀🤨 Решил в лоб. Прям в байты. Использовал DataInputStream, DataOutputStream, у них есть методы писать/читать примитивные переменнные в байты. Ну и получилась даже примитивная структура файла. Human(размер строки int)(сама строка)(размер ассетов int)(размер имени int)(само имя)(значение double)... Всё в байтах.
Lyokha Blagodatskikh
Уровень 32, Ural, Russian Federation
1 августа, 04:07
"Oops, something wrong with my life" - долго смеялся не мог остановиться ))) так вот кодишь кодишь, а потом один раз ошибёшься и всё... catch (IOException e) {Oops, something wrong with my file} и приплыли ) Думаю многие так прочитали этот эксепшн )
Lyokha Blagodatskikh
Уровень 32, Ural, Russian Federation
31 июля, 14:57
Идеальная по сложности задача, понятное задание, не слишком сложно, но и не слишком легко, есть над чем подумать.
SergGlav
Уровень 23
19 июля, 21:30
ЫЫЫ, забыл про PrintWriter (сделал через BufferredWriter(new OutputStreamWriter)) ), а это грюбо и некрасиво... А ведь страницей назад про него упоминалось.
An N
Уровень 29, Cheboksary, Russian Federation
14 августа, 10:43
Я еще круче начудил. Работал напрямую с OutputStream и InputStream. Но все получилось и валидатор принял.
SergGlav
Уровень 23
14 августа, 22:00
Валидатор не всегда настолько в духе =)