![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Здравствуйте. Моя проблема: Есть метод в который периодически приходят объекты и они сереализуються в один из двух моих файлов. Потом когда я хочу десериализовать объекты из файла первый объект считываеться нормально , а остальные не счит не считываются. Подскажите, лучше кодом .....)) заранее Спасибо.
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Гм. сначала расскажи как сериализуешь и пишешь в файл.
Все объекты сразу? Или открыл, записал, закрыл, опять открыл, ещё записал, закрыл? Сдаётся мне, ты просто перезаписываешь -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| can4ec |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Второй твой вариан :открыл, записал, закрыл, опять открыл, ещё записал, закрыл
|
||||
|
|||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 2 Всего: 10 |
can4ec, попробуй строки
вынести из тела цикла Это сообщение отредактировал(а) Ulysses4j - 12.6.2007, 17:28 -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| can4ec |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
я там ошибся , вот два метода мои.
|
||||||
|
|||||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 2 Всего: 10 |
Откуда взялось i в первом методе(где объявление и инициализация)?
Пожалуйста, если несложно, исправьте орфографическую ошибку в названии темы - очень уж глаз мозолит. И используйте подсветку кода ([]-тэг с содержимым "code=java"). Добавлено @ 18:38 А что этот код вообще должен делать? Это сообщение отредактировал(а) Ulysses4j - 12.6.2007, 19:07 -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| can4ec |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Во-первых инициализации перемененной i нет так как она объявлена в другом месте, не вижу смысла это показывать. for(int n=0; n<i; n++) Во-вторых , да здесь я ошибся спс. Не подскажите как можно исправить название не нешел. И если вам трудно все таки прочесть самый первый пост еще раз выкладываю его вам "Здравствуйте. Моя проблема: Есть метод в который периодически приходят объекты и они сереализуються в файлов. Потом когда я хочу десериализовать объекты из файла первый объект считываеться нормально , а остальные не считываются. Подскажите, лучше кодом .....)) заранее Спасибо." Может уже по теме кто-то поможет. |
||||
|
|||||
| Ulysses4j |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 2 Всего: 10 |
Переменная i существенно влияет на ход десериализации, с которой вы испытываете проблемы. Пока не будет представлен весь ее жизненный цикл, сказать что-то определенное сложно. Более того, я подозреваю, что найти ошибку можно лишь видя порядок вызова методов serializable/sSerializable (очень неудачные имена, между прочим) - возможно, конечно, кто-то окажется более прозорливым чем я. Нет, мне совершенно не трудно. Дело в том, что постановка вопроса в первом посте настолько обща, что посоветовать что-либо конкретное мне не представляется возможным, извините.
Глаголы в третьем лице пишутся без "ь" после окончания. Это сообщение отредактировал(а) Ulysses4j - 12.6.2007, 22:38 -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
||||
|
|||||
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Ошибку в названии я заметил, я спрашивал возможно ли ее исправить и если да то где. Вот что я не нашел. Я вопрос помоему простой. Эту переменную i можно вообще не использовать. Представьте что вы запустили программу создали объект и сериализовали его. Потом еще раз запустили программу создали еще объект и положили его в тот же файл. Потом начинаю десериализовать файл, первый объект считывается нормально, пытаюсь считать второй ошибка. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Десереализовывать объекты, надо точно так-же как и сериализовывать. Т.е. если ты записал объект и закрыл поток, потом дописал еще один и т.д. То десереализовывать надо так же: прочитал объект, закрыл поток, открыл новый поток с того самого места где остановился в прошлый раз.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
Как открыть поток с того самого места где остановился? |
|||
|
||||
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
LSD:так открыть поток с того самого места?? не покажешь , а то уж очень надо.
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Тебе нужно написать класс обертку над стандартным потоком:
этот класс, не будет закрывать нижележащий поток по команде close(), и можно создать новый ObjectInputStream с этим же самым потоком. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
LSD: а как теперь это применить к моим методам?
не подскажешь , а то что-то не получаеться? заране спасибо за помщь и терпение ..) Просто еще не понятно нужно ли писать свой ObjectInputStream ? Это сообщение отредактировал(а) can4ec - 14.6.2007, 00:07 |
|||
|
||||
| can4ec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 25.4.2006 Репутация: 1 Всего: 1 |
LSD: как применить к моим двум методам?
|
|||
|
||||
![]()
|
| Правила форума "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. |