小编典典
您可以使用ClassLoader找到应用程序目录。请参阅:Java:查找应用程序目录。使用 .properties 文件而不是 .INI 文件-
您可以通过Properties类加载并保存此文件。
__
正如其他人指出的那样,您不应将用户设置写入应用程序目录。如果用户没有对应用程序目录的写访问权限怎么办?如果您的应用程序被同一系统上的多个用户同时使用,该怎么办?这两种情况都没有异常,即使在Windows上也是如此。
您可能仍想从应用程序目录中加载某些设置-也许管理员已在此处配置了默认设置。
通用约定是将用户设置保存到用户的主目录中:
/home/user/.eclipse
C:\Documents and Settings\User\.eclipse
尽管这意味着您可能会留下杂散的文件,但是如果用户重新安装该应用程序,则可能会有所帮助。在自述文件中记录这些内容。以下是创建和获取目录引用的方法:
public static File getSettingsDirectory() {
String userHome = System.getProperty("user.home");
if(userHome == null) {
throw new IllegalStateException("user.home==null");
}
File home = new File(userHome);
File settingsDirectory = new File(home, ".myappdir");
if(!settingsDirectory.exists()) {
if(!settingsDirectory.mkdir()) {
throw new IllegalStateException(settingsDirectory.toString());
}
}
return settingsDirectory;
}
在类似Unix的操作系统上,以句点(“ .myappdir”)开头的目录名将使目录隐藏。在Windows上,该目录位于 我的文档
下方,因此用户只有在寻找该目录后才能看到该目录。
2020-10-07