Файлы базы данных Palm (PDB) в Java?

Кто-нибудь написал какие-нибудь классы для чтения и записи файлов Palm Database (PDB) на Java? (Я имею в виду на сервере, а не на самом устройстве Palm.) Я попытался Google, но все, что я получил, это ссылки на Банк Белковых Данных.

Я написал Perl-программу, которая делает это с помощью Palm::PDB.pm, но я хочу превратить ее в сервлет для приложения GWT.

4 ответа

Решение

Проект jSyncManager по адресу http://www.jsyncmanager.org/ находится под управлением LGPL и включает в себя классы для чтения и записи файлов PDB - см. JSyncManager/API/Protocol/Util/DLPDatabase.java в его исходном коде. Похоже, что основной код, который вам нужен, может быть изолирован от остальной части библиотеки без особых усилий.

Может быть, JPilot может помочь? У них должно быть много Java-кода, связанного с данными Palm OS.

Есть несколько способов сделать это;

  1. Самый простой, но самый медленный: найти perl-> java bridge. Это не будет быстрым, но это будет работать, и это должно включать наименьшее количество работы.
  2. Найдите реализацию C++/C#, к которой у вас есть источник, и преобразуйте ее (это должно быть самым быстрым решением)
  3. Найдите читателя Java... кажется, что некоторые из них перечислены в Google... однако я не имею никакого опыта с ними.

В зависимости от того, что вы планируете использовать, вы можете сами написать простой читатель. Формат довольно прост, и вам нужно обработать только пару простых полей для его анализа.

По сути, для всего файла существует заголовок, имеющий в конце 2-байтовое целое число, которое указывает номер записи. Так что просто пропустите свой путь через байты для всех других полей в заголовке, а затем прочитайте последнее поле, которое является количеством записей в файле. Имейте в виду, что формат PDB сначала записывает целые числа с старшим значащим байтом.

После этого для каждой записи будет заголовок записи, первое поле которого является фактическим смещением в файле для самой записи. Опять же, помните о порядке байтов.

Итак, теперь у вас есть смещения в файле для каждой записи в файле, что должно облегчить чтение фактических записей, если вы знаете их формат для типа файла PDB, который вы пытаетесь прочитать.

В Википедии есть хороший обзор форматов заголовков.

Другие вопросы по тегам