3

有没有人用 Java 编写过任何用于读写 Palm 数据库 (PDB) 文件的类?(我的意思是在服务器上,而不是在 Palm 设备本身上。)我试图用谷歌搜索,但我得到的只是蛋白质数据库参考。

我编写了一个使用 Palm::PDB.pm 的 Perl 程序,但我想把它变成一个 GWT 应用程序的 servlet。

4

4 回答 4

2

http://www.jsyncmanager.org/上的 jSyncManager 项目在LGPL 下,包括用于读取和写入 PDB 文件的类——在其源代码中查看 jSyncManager/API/Protocol/Util/DLPDatabase.java。看起来你需要的核心代码可以与库的其余部分隔离开来。

于 2009-11-20T13:59:42.497 回答
1

有几种方法可以解决这个问题;

  1. 最简单但最慢:找到一个 perl-> java 网桥。这不会很快,但它会起作用,并且应该涉及最少的工作量。
  2. 找到您拥有源代码的 C++/C# 实现并将其转换(这应该是最快的解决方案)
  3. 找一个 Java 阅读器……似乎在 google 下列出了一些……但是我对这些没有任何经验。
于 2009-11-02T06:53:16.397 回答
1

根据您的预期用途,您可能会考虑自己编写一个简单的阅读器。格式非常简单,您只需要处理几个简单的字段即可对其进行解析。

基本上整个文件都有一个标题,末尾有一个 2 字节整数,用于指定记录数。因此,只需跳过标题中所有其他字段的字节,然后读取最后一个字段,即文件中的记录数。请注意,PDB 格式首先写入具有最高有效字节的整数。

在此之后,每条记录都会有一个记录头,其第一个字段是记录本身在文件中的实际偏移量。同样,请注意字节顺序。

因此,现在您有了文件中每条记录的偏移量,只要您知道要读取的 PDB 文件类型的格式,就可以很容易地读取实际记录。

维基百科对标题格式有很好的概述。

于 2009-11-02T22:28:00.837 回答
1

也许JPilot可以提供帮助?他们必须有大量处理 Palm OS 数据的 Java 代码。

于 2009-11-08T21:55:00.990 回答