有没有人用 Java 编写过任何用于读写 Palm 数据库 (PDB) 文件的类?(我的意思是在服务器上,而不是在 Palm 设备本身上。)我试图用谷歌搜索,但我得到的只是蛋白质数据库参考。
我编写了一个使用 Palm::PDB.pm 的 Perl 程序,但我想把它变成一个 GWT 应用程序的 servlet。
http://www.jsyncmanager.org/上的 jSyncManager 项目在LGPL 下,包括用于读取和写入 PDB 文件的类——在其源代码中查看 jSyncManager/API/Protocol/Util/DLPDatabase.java。看起来你需要的核心代码可以与库的其余部分隔离开来。
有几种方法可以解决这个问题;
根据您的预期用途,您可能会考虑自己编写一个简单的阅读器。格式非常简单,您只需要处理几个简单的字段即可对其进行解析。
基本上整个文件都有一个标题,末尾有一个 2 字节整数,用于指定记录数。因此,只需跳过标题中所有其他字段的字节,然后读取最后一个字段,即文件中的记录数。请注意,PDB 格式首先写入具有最高有效字节的整数。
在此之后,每条记录都会有一个记录头,其第一个字段是记录本身在文件中的实际偏移量。同样,请注意字节顺序。
因此,现在您有了文件中每条记录的偏移量,只要您知道要读取的 PDB 文件类型的格式,就可以很容易地读取实际记录。
维基百科对标题格式有很好的概述。
也许JPilot可以提供帮助?他们必须有大量处理 Palm OS 数据的 Java 代码。