【问题标题】:Java Plist Location on MacMac 上的 Java Plist 位置
【发布时间】:2018-02-21 20:04:23
【问题描述】:

我的 Plist 代码有问题?当我第一次运行程序时,它会询问文件位置,因为没有 plist。

下次我运行程序并移动表单然后退出程序时,它会在 ~library/Preferences/com.apple.java.util.prefs.plist 中写入一个新的 plist,这正是我所期望的。

当我删除上面的 plist 并重新启动程序时,我希望它需要作为新文件名,但它会从其他地方提取 plist 并使用旧信息。

这是获取 plist 的代码

 // get preferences from plist
    Preferences prefsRoot = Preferences.userRoot();
    Preferences myPrefs = prefsRoot.node("WizardPreferences");

    strFileName = myPrefs.get("Path", "");
    int intPos1X = myPrefs.getInt("posScene1X", 300);
    int intPos1Y = myPrefs.getInt("posScene1Y", 300);
    intPosX = intPos1X;
    intPosY = intPos1Y;

    // check file if "" then get file name
    if (strFileName.equals("")) {
        // get file name
        filechooser();

    }

这是我退出程序时写plist的代码

// Exit Button
public void exit() {
    // define action for exit button
    // save information for next run
    Preferences prefsRoot = Preferences.userRoot();
    Preferences myPrefs = prefsRoot.node("WizardPreferences");
    myPrefs.put("Path", strFileName);
    myPrefs.putInt("posScene1X", intPosX);
    myPrefs.putInt("posScene1Y", intPosY);
    // exit and close program
    System.exit(0);
}

我确信我没有很好地解释我的问题,因为我对 Java 编程有点陌生。

任何帮助将不胜感激。

罗杰

【问题讨论】:

    标签: java plist


    【解决方案1】:

    这个问题最近困扰着我。这不是您的代码的问题 - 它是您所说的记住

    Mac 会缓存首选项,因此当您删除 plist 文件时,缓存仍会提供信息。你可以:

    1. 删除 plist 文件后

    2. killall -u cfprefsd

    3. 重启

    项目 2. 和 3. 将导致缓存被清除,然后您的首选项将在 cfprefsd 自动重新启动时重新加载。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 2019-09-11
      相关资源
      最近更新 更多