2012-07-27 50 views
3

我有一個應用程序支持離線存儲用戶數據,以防服務器無法訪問。在通過javafx.io.Storage和javafx.io.Resource類實現的Javafx 1.3中。支持Javafx 2.x中的離線存儲

當遷移到Javafx 2.0時,這些類已停用。我相信Oracle的人員在Java中具有相同的功能。

我的問題是在Javafx 2.0中相當於前面提到的類什麼是我指定一個資源名稱,我可以存儲數據,而不必擔心它在客戶端文件系統中的存儲位置,就像瀏覽器一樣餅乾。

感謝您的幫助

艾哈邁德

回答

3

有一個在JavaFX的2.X本身沒有javafx.io.Storage和javafx.io.Resource的等價物。由於JavaFX 2.x基於Java,因此可以使用Java服務。可以使用JNLP FileSaveServiceFileOpenService。這些服務應該跨越基於JNLP的部署(瀏覽器嵌入式和webstart應用) - 不確定它們是否適用於獨立應用。

如果您知道您的應用程序將作爲獨立應用程序或帶有更高權限的簽名瀏覽器嵌入式或webstart應用程序運行,那麼您可以通過user.home system property獲取用戶目錄,並將您的應用程序數據寫入適當的文件位置在那之下,可能使用Files api,就像這個Files tutorial一樣。例如,使用文件api創建一個{$user.dir}/.myapp/appdata.dat文件來讀取和寫入。

JavaFX嵌入一個html5 web引擎。 JavaFX 8中的WebEngine實現了html5規範的離線存儲部分,而JavaFX 2.2中的WebEngine則沒有。