2012-07-27 29 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则没有。