保存 Java applet 状态的好方法是什么?
我可以处理文件的对象序列化/反序列化,但不知道它应该放在哪里,或者是否有一些“注册表”我可以只保存几个用户的设置。
这些设置依赖于硬件,所以我想将其保存在客户端上。
已授予小程序完全权限。
最佳答案
What is a good approach to save state of a Java applet?
对于受信任的小程序,有很多选择。
I can deal with object serialization/deserialization to/from a file but don't know where it should be placed..
将信息放在user.home
的子目录中。
user.home
将是一个可写的地方。- 一个子目录(例如,基于小程序类的包名称)以避免与其他应用程序的设置文件冲突。
..or if there's some 'registry' where I can just save a couple of user's settings.
我听说 Preferences
类可以用于那个..
This data is stored persistently in an implementation-dependent backing store. Typical implementations include flat files, OS-specific registries, directory servers and SQL databases. The user of this class needn't be concerned with details of the backing store.
听起来不错,不是吗?唯一的麻烦是我从来没有能够举出一个例子,其中值在运行之间保持不变!
对象序列化带有一个巨大的警告,它可能随时中断。
我会寻找您自己指定的文件位置(例如,在 user.home
中)并使用 Properties
XMLEncoder
的文件(用于简单名称/值对)/XMLDecoder
(对于更复杂的 Java bean)。
对于前者,请参阅此 little example .后者在 JavaDocs 顶部的一个简短示例中进行了描述。
当然,如果此小程序部署在 Plug-In 2 架构 JRE 中并且可以访问 JNLP API,则它可以使用 PersistenceService
.这是一个 demo. of the PersistenceService
.
即使是沙盒小程序也可以使用 PersistenceService
- 它类似于 Cookie 的概念,因为它适用于少量数据。
关于java - Java 小程序中的对象持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954183/