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

  • 11
  • Недоступна
Учимся влиять на человеческие существа с помощью внешних файлов… Или просто реализуем логику записи в файл и чтения из файла для класса Human. Помните, поле name в классе Human не может быть пустым. Ну а метод main реализован только для вас, и не участвует в тестировании.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (159)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Валерий20 уровень, Санкт-Петербург
понедельник, 12:56
В первый раз записывал в файл через BufferedWriter, а читал BufferedReader. Задача реализовывала требуемое. Но валидатор не пропустил. Решил через уже описанные в main File(Input/Output)Stream валидатор принял Видимо для верности писать и читать надо не символы а байты
Riccio26 уровень, Москва
11 мая, 11:01
Учеба началась с места в карьер. Задача очень простая, но чтобы понять ее простоту, "надо два дня потерять, потом за полчаса долететь" Маленький лайфхак: При записи разбил информацию по строкам с помощью
outputStream.write(10);
А при чтении обернул InputStream
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
this.name = reader.readLine();
//et cetera
UPD: можно не разбивать по строкам, печатая десятку, а обернуть outputStream в PrintWriter и выводить строками.
Марина22 уровень, Москва
16 мая, 07:22
крутая статья, спасибо
Александр22 уровень, Москва
7 мая, 10:43
а еще для удаления временного файла, в конце нужно писать: your_file_name.deleteOnExit(); иначе "хвосты" остаются
NewBuy22 уровень, Санкт-Петербург
29 апреля, 16:56
temp = Double.doubleToLongBits(price);
result = 31 * result + (int) (temp ^ (temp >>> 32));
Эт вообще че за хрень?))
Riccio26 уровень, Москва
11 мая, 10:59
Артур24 уровень
25 апреля, 14:13
Не проходит первые два условия, если использовать ObjectInputStream/ObjectOutputStream.
Антон22 уровень, Москва
18 апреля, 20:08
с первой попытки..коряво конечно)
Lein31 уровень, Москва
12 апреля, 09:08
Сложноватая задача для первой на 20 уровне. С первого раза сдать не удалось, даже с учетом просмотра различных видео по сериализации, внимательного чтения первой лекции и разбора кода. Хотя предыдущий уровень как-то веселее шел
Александр23 уровень, Казань
26 марта, 12:14
PrinterWriter не использовал. Писал сразу
outputStream.write(this.name.getBytes());
А читал через:
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
reader.readLine()
Александр23 уровень
25 марта, 14:18
Ну что тут сказати... Узнал про PrintWriter, про методы с переменным числом аргументов, про переопределение hashCod() и equals(). Задача понравилась.
Филипп23 уровень, Минск
15 марта, 11:44
Решил через DataOutputStream (как бы он для этого и создан, что б записывать примитивные типы и Стринг, орудовать сырыми байтами в данном случае считаю кощунством), equals дает true и при пустом и при полном листе Asset'ов, но угадайте что за парень не пропустил меня по пунктам: 1. "Логика чтения/записи реализованная в методах save/load должна работать корректно в случае, если список assets пустой". 2. "Логика чтения/записи реализованная в методах save/load должна работать корректно в случае, если поле name и список assets не пустые".))