Файлы базы данных 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.
Есть несколько способов сделать это;
- Самый простой, но самый медленный: найти perl-> java bridge. Это не будет быстрым, но это будет работать, и это должно включать наименьшее количество работы.
- Найдите реализацию C++/C#, к которой у вас есть источник, и преобразуйте ее (это должно быть самым быстрым решением)
- Найдите читателя Java... кажется, что некоторые из них перечислены в Google... однако я не имею никакого опыта с ними.
В зависимости от того, что вы планируете использовать, вы можете сами написать простой читатель. Формат довольно прост, и вам нужно обработать только пару простых полей для его анализа.
По сути, для всего файла существует заголовок, имеющий в конце 2-байтовое целое число, которое указывает номер записи. Так что просто пропустите свой путь через байты для всех других полей в заголовке, а затем прочитайте последнее поле, которое является количеством записей в файле. Имейте в виду, что формат PDB сначала записывает целые числа с старшим значащим байтом.
После этого для каждой записи будет заголовок записи, первое поле которого является фактическим смещением в файле для самой записи. Опять же, помните о порядке байтов.
Итак, теперь у вас есть смещения в файле для каждой записи в файле, что должно облегчить чтение фактических записей, если вы знаете их формат для типа файла PDB, который вы пытаетесь прочитать.
В Википедии есть хороший обзор форматов заголовков.