java - 复制特定 Java 应用程序的 Java 首选项文件

标签 java preferences

我运行一个这样的java应用程序:

java --cp libs.jar MyClass myconfigfile

正常关闭后,应用程序将记住我在多个文本字段和复选框中的值。我被告知“最后状态”保存在java首选项中。我想从一台计算机上获取最后的状态并将其转移到另一台计算机上。有办法做到这一点吗?

我使用的是 Ubuntu 12.04。

最佳答案

根据您提供的有限信息,听起来该应用程序正在使用 Java Preferences API 。在这种情况下,数据实际存储的位置取决于操作系统。在 Windows 中,它位于注册表中。 Linux 和 OS X,我不确定。也就是说,数据不可能存储在您可以从中复制的单个属性文件中。

如果您有权访问代码,则可以将 Preferences 对象导出到文件中。

FileOutputStream output = new FileOutputStream("myPrefs.xml");
myPrefs.exportSubtree(output);

编辑:看起来在 Linux 中您可以在以下两个位置之一找到信息:

~/.java/.userPrefs
/etc/.java/.systemPrefs

关于java - 复制特定 Java 应用程序的 Java 首选项文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762730/

相关文章:

java - 与UTC java的时差

c# - 如何阻止 Visual Studio 自动格式化代码的某些部分?

java - 在签名的 Java 小程序中存储客户端数据

java - Spring MVC : large files for download, OutOfMemoryException

java - 首选项系统尝试在 "normal"用户在 Linux 上没有写入权限的位置写入锁定文件

Java:java.util.Preferences 失败

android - 首选项菜单中 Android 向上/向后导航的动态父 Activity

安卓首选项问题

java - Spring 双向转换器

java - 需要访问共享状态数据的多个监听器的正确耦合