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

  • 11
  • Недоступна
Учимся влиять на человеческие существа с помощью внешних файлов… Или просто реализуем логику записи в файл и чтения из файла для класса Human. Помните, поле name в классе Human не может быть пустым. Ну а метод main реализован только для вас, и не участвует в тестировании.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (177)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Максим20 уровень, Черкассы
четверг, 09:58
Не забываем закрывать поток записи, а то будет NullPointerException
Alexander20 уровень, Екатеринбург
понедельник, 03:44
Не получается записать данные по строкам. Использую
outputStream.write(name.getBytes());
, где к исходной переменной name в конец добавил еще и "\n". Программа записывает все данные в одну строку((( В чем может быть проблема?
Максим20 уровень, Черкассы
четверг, 09:56
Возможно, нужно передать байт окончания строки = 10,а так просто два символа \ и n. Не уверен, решил через Buffered'ы
Alexander20 уровень, Екатеринбург
позавчера, 03:30
10 тоже пытался записать - не помогло. Решил, используя универсальный перенос строки System.lineSeparator().
Максим20 уровень
12 августа, 11:37
Задача хорошая, плюсую. Она хоть и сложная, решал с подсказками, но условие по-человечески написано, понятно что от тебя хотят.
Василий23 уровень, Санкт-Петербург
2 августа, 09:19
Практически готовый ответ на эту задачу содержится в задаче "Очень странные дела".
Ololo Sha22 уровень
25 июля, 07:42
Даааа нежданчик от первой то задачи нового уровня, узнал новое и вспомнил старое так сказать), вообщем увлекательно провел два с половиной часа времени)
Владислав Пахомов33 уровень, Белгород
2 июля, 10:48
Урааа!))
Задача успешно прошла тестирование!  Вы решили задачу лучше, чем 47% учеников. Вам удалось ее решить с 1 попытки. Среднее количество попыток для этой задачи 2.98. Всего эту задачу решили 9998 учеников.
Арсений22 уровень, Санкт-Петербург
22 июня, 12:47
Не совсем ясно, зачем нам нужен переопределенный метов hashCode() если он не используется.... Или я что то не так понял ?
Владислав Пахомов33 уровень, Белгород
2 июля, 10:49
Ну там типа есть способ, где можно массив преобразовать в хэшкод, а потом записать его, но можно напрямую писать тоже, я к примеру через запись напрямую
skybright33 уровень
9 июня, 21:37
Насколько я понял тут мы должны испытать попаболь от сериализации вручную без интерфейса Serializable. Мой вариант - остался на InputStream/OutputStream, не использовал разделителей. Для перевода double в byte[8] и обратно использовал ByteBuffer. Слава богу, что не обязательно переводить int (длины строк) в byte[], валидатор принял и так, т.е. длина строк умещается в byte.
outputStream.write(this.name.length());
...
int length = inputStream.read();
АртемGeek25 уровень, Москва
1 июня, 13:37
Кому интересно про
public Human(String name, Asset... assets) {
            this.name = name;
            if (assets != null) {
                this.assets.addAll(Arrays.asList(assets));
            }}
к прочетнию - аргументы переменной длины
Валерий29 уровень, Санкт-Петербург
20 мая, 12:56
В первый раз записывал в файл через BufferedWriter, а читал BufferedReader. Задача реализовывала требуемое. Но валидатор не пропустил. Решил через уже описанные в main File(Input/Output)Stream валидатор принял Видимо для верности писать и читать надо не символы а байты
Максим20 уровень, Черкассы
четверг, 09:57
Я решил через Buffered и все прошло.