![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
can4ec |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Здравствуйте!!! У меня такой вопрос. В одном файле (после сериализации) лежат как пример 4 объекта. В другом методе я произвожу десериализацию и хочу вынуть из этого файл все 4 свои объекта и записать их в Лист. Как мне это сделать?
Просто когда я десериализирую вот так: FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); memoryDao = (Dao) ois.readObject(); мне вынимается токо один объект , а как остальные вынуть и записать в тот же Лист. P.S. Другие варианты сериализации не предлагать , у меня задание просто вытащить не один объект из файла. |
|||
|
||||
danco31 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.5.2007 Репутация: 1 Всего: 1 |
readObject() и читает один объект - так и метод назван. Посему, если объекты в файл складывались (писались) просто один за одним,
то и читай их несколькими вызовами readObject() - в цикле или как нравится. И каждый прочитанный в List добавляй. |
|||
|
||||
can4ec |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
как мне их прочесть в цикле если я даже не знаю скоко у меня объектов в файле. |
|||
|
||||
RebornCrusader |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 18.1.2007 Где: Владивосток Репутация: 2 Всего: 6 |
При использовании List размера знать не надо!
Берёшь ArrayList. Читаешь до конца файла, и делаешь list.add() для каждого. Если так хочется массив, есть метод toArray(). Или при сериализации пишешь сразу как объект массив или список, и читаешь его одним вызовом. Как он там на байты разложится - не твоя проблема. --------------------
"Fais se que dois, - adviegne que peut. C'est commande au chevalier" |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |