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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сериализация данных между C++ и Java 
V
    Опции темы
Ground
Дата 2.2.2013, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 27.2.2006
Где: Комсомольск

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



Доброго времени суток!
У меня есть приложение на плюсах, которое сериализует данные в собственном формате. Мне нужно передать эти данные приложение на Java.
Что я сделал сейчас: определил классы, представляющие сериализованные данные, сделал в них интерфейс Externalizable. Решил проверить, правильно ли все реализовал. Попытался организовать чтение из файла:
Код

FileInputStream fis = new FileInputStream(sdFile);
ObjectInputStream ois = new ObjectInputStream(fis);


На второй строке появляется ошибка:
Код

02-02 11:19:59.236: W/System.err(10106): java.io.StreamCorruptedException
02-02 11:19:59.254: W/System.err(10106): at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:2106)
02-02 11:19:59.254: W/System.err(10106): at java.io.ObjectInputStream.<init>(ObjectInputStream.java:372)
...


Сразу оговорюсь, файл существует, проверил его с помощью sdFile.exists(). Немного погуглил, и выяснилось, что ObjectInputStream ищет заголовок у файла 0xACED, и если не находит - бросает исключение, приведенное выше. Но файл то у меня имеет фиксированный формат, как мне его тогда можно прочитать без лишних проблем?
PM MAIL ICQ   Вверх
Stolzen
Дата 3.2.2013, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

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



Для Externalize джава так же использует свой внутренний формат.
Рекомендую использовать какую-нибудь библиотеку, например, http://code.google.com/p/protobuf/


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
powerOn
Дата 7.2.2013, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



еще есть Apache Thrift: http://thrift.apache.org/
или выбрать независимый формат сериализации типа json/xml


--------------------
user posted image нет времени думать - нужно писать КОД!

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

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

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


 




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


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

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