Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Десериализация 
:(
    Опции темы
can4ec
Дата 20.5.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: 1
Всего: 1



Здравствуйте!!! У меня такой вопрос.  В одном файле (после сериализации) лежат как пример 4 объекта. В другом методе я произвожу десериализацию и хочу вынуть из этого  файл  все 4 свои объекта и записать их в Лист. Как мне это сделать?
Просто когда я десериализирую вот так:
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            memoryDao = (Dao) ois.readObject();
мне вынимается токо один объект , а как остальные вынуть и записать в тот же Лист.
P.S. Другие варианты сериализации не предлагать , у меня задание просто  вытащить не один объект из файла.
PM MAIL   Вверх
danco31
Дата 20.5.2007, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2007

Репутация: 1
Всего: 1



readObject() и читает один объект - так и метод назван. Посему, если объекты в файл складывались (писались) просто один за одним,
то и читай их несколькими вызовами readObject() - в цикле или как нравится. И каждый прочитанный в List добавляй.
PM MAIL   Вверх
can4ec
Дата 21.5.2007, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: 1
Всего: 1



Цитата(danco31 @ 20.5.2007,  23:11)
readObject() и читает один объект - так и метод назван. Посему, если объекты в файл складывались (писались) просто один за одним,
то и читай их несколькими вызовами readObject() - в цикле или как нравится. И каждый прочитанный в List добавляй.

как мне их прочесть в цикле если я даже не знаю скоко у меня объектов в файле.
PM MAIL   Вверх
RebornCrusader
Дата 21.5.2007, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 18.1.2007
Где: Владивосток

Репутация: 2
Всего: 6



При использовании List размера знать не надо!
Берёшь ArrayList.
Читаешь до конца файла, и делаешь list.add() для каждого. Если так хочется массив, есть метод toArray().
Или при сериализации пишешь сразу как объект массив или список, и читаешь его одним вызовом. Как он там на байты разложится - не твоя проблема.

--------------------
"Fais se que dois, - adviegne que peut. C'est commande au chevalier"
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.