2009-11-01 64 views
3

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

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

回答

2

http://www.jsyncmanager.org/的jSyncManager项目位于LGPL下,包括读取和写入PDB文件的类 - 在其源代码中查找jSyncManager/API/Protocol/Util/DLPDatabase.java。看起来你需要的核心代码可以通过一点努力与图书馆的其他部分隔离开来。

+0

我认为这有我需要的。非常感谢。 – 2009-11-20 20:04:52

1

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

  1. 最简单但最慢:找到perl-> java桥。这不会很快,但它会起作用,它应该涉及最少量的工作。
  2. 寻找你有源代码的C++/C#实现并将其转换(这应该是最快的解决方案)
  3. 找到一个Java阅读器...似乎有几个列在谷歌下...但是我对这些没有任何经验。
+0

我能找到的唯一一个java读取器原来是用Java编写的C程序。 IE浏览器。所有的代码都在主要或几个静态方法中。根本没有阶级结构。 – 2009-11-03 01:20:18

1

根据你的用途是什么,你可能会考虑自己写一个简单的读者。格式很简单,你只需要处理几个简单的字段来解析它。

基本上,整个文件有一个标题,它在最后有一个2字节的整数,它指定了记录的数量。因此,只需跳过头中所有其他字段的字节,然后读取文件中记录数的最后一个字段即可。请注意,PDB格式先写入最重要字节的整数。

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

所以,现在你有文件中每个记录的偏移量,只要你知道你正在尝试的PDB文件类型的这些格式就可以很容易地读取实际记录读书。

Wikipedia对标题格式有很好的概述。

1

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

+0

JPilot是用C编写的,而不是Java。重要的一课:并非每个程序的名字以“J”开头都与Java有关。 – 2009-11-09 00:50:46

+0

Ups。我多年前使用JPilot。我确信这是Java。但当然你的权利。 JPilot没有Java。 – 2009-11-09 05:58:19