| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Сериализация объекта |
| Автор: maxlab 29.12.2008, 13:40 | ||
| С наступающим! Вопрос такой: Например есть простой класс, и два приложения. Первое приложение создает объект, заполняет поля и сохраняет в файл. Второе приложение должно его читать и воспользоваться содержимым полей. В рамках одного приложения чтение-запись проходит. Между приложениями нет. Вываливает ошибку (каст)
хотя в двух приложениях класс Dbc абсолютно одинаков. Как обойти? Внутренний голос мне подсказывает что этот класс нужно вообще оформить отдельно и включить в classpath. Но не хотелось бы... |
| Автор: sith 29.12.2008, 14:13 |
| а как ты сериализуешь... приведи пример кода |
| Автор: inohodec 29.12.2008, 14:15 | ||||
Ну так один
Разве нет? |
| Автор: MisterCleric 29.12.2008, 14:22 |
| Нет, конечно. разве что Loader.classes.Dbc является наследником b2009.classes.Dbc Хоть эти классы и называются одинаково, хоть и содержимое их одинаково, но из-за того что они лежат в разных пакетах их серриализуемая форма будет разной У тебя оба приложения должны использовать одни и те же классы, что нормально их серриализовать и десерриализовать. В твоем случае, если ты не хочешь шарить классы между приложениями придется придумывать свой механизм серриализации. Попробуй посмотреть в сторону http://www.google.com.ua/search?q=java+Externalization |
| Автор: maxlab 30.12.2008, 20:05 |
| Да, действительно... Оформил класс как внешнюю библиотеку и подключил к своим проложениям. Работает... сериализует-десериализует. Как отойду от новогоднего безумия, попробую с externalization поэкспериментировать. Все равно сериализуемые объекты еще надо ухитриться как то зашифровать... хотя бы элементарно. Всем всего хорошего. |
| Автор: Vurn 30.12.2008, 23:17 |
| RMI |