2009-11-01 53 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