Файлы базы данных Palm (PDB) в Java? - PullRequest
3 голосов
/ 01 ноября 2009

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

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

Ответы [ 4 ]

2 голосов
/ 20 ноября 2009

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

1 голос
/ 03 ноября 2009

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

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

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

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

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

1 голос
/ 09 ноября 2009

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

1 голос
/ 02 ноября 2009

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

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