我有一个应用程序,它应该支持用户数据的离线存储,以防服务器无法访问。在 Javafx 1.3 中,这是通过类 javafx.io.Storage 和 javafx.io.Resource 实现的。
迁移到 Javafx 2.0 时,这些类已停止使用。我相信 Oracle 的人在 Java 中具有等效的功能。
我的问题是 Javafx 2.0 中上述类的等价物是什么我想要的是指定一个资源名称,我可以将数据存储到该名称中,而不必担心它在客户端文件系统上的确切存储位置,与浏览器 cookie 相同。
谢谢你的帮助
艾哈迈德
最佳答案
JavaFX 2.x 本身没有 javafx.io.Storage 和 javafx.io.Resource 的等价物。因为 JavaFX 2.x 基于 Java,所以您可以使用 Java 服务。
JNLP FileSaveService和 FileOpenService可能用过了。这些服务应该适用于基于 JNLP 的部署(浏览器嵌入式和 webstart 应用程序)——不确定它们是否适用于独立应用程序。
如果您知道您的应用程序将作为独立应用程序或具有更高权限的嵌入式浏览器签名或 webstart 应用程序运行,那么您可以通过 user.home system property 获取用户目录。并将您的应用程序数据写入该文件下的适当文件位置,可能使用 Files api 如此 Files tutorial .例如,使用 Files api 创建一个 {$user.dir}/.myapp/appdata.dat
要读取和写入的文件。
JavaFX 嵌入了一个 html5 Web 引擎。 WebEngine在 JavaFX 8 中实现了 html5 规范的离线存储部分,而 JavaFX 2.2 中的 WebEngine 没有。
关于storage - 支持 Javafx 2.x 中的离线存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11688695/