Java桌面应用程序 - 内存

时间:2017-04-06 12:29:31

标签: java executable-jar

我正在创建一个java桌面应用程序(Runnable jar文件)。我第一次运行它时会从用户那里得到一条路径(比如eclipse中的工作区)。

我希望应用程序在关闭应用程序并再次运行它时记住路径(比如eclipse记住工作区)。

但我无法做到这一点,因为每当我关闭应用程序并再次运行它时,所有变量都将重新初始化。

Eclipse也是一个桌面应用程序。 eclipse是如何做的,以及如何在我的应用程序中实现它。

1 个答案:

答案 0 :(得分:1)

根据Berger的建议,您可以将Preferences API用作:

public static void main(String[] args) {
    try (Scanner in = new Scanner(System.in)) {
        Preferences userRoot = Preferences.userRoot();
        String workspace = userRoot.get("workspace", null);
        if (null != workspace) {
            System.out.println(workspace);
            System.out.println("Would you like to change the value (Y/N):");
            String option = in.nextLine();
            if ("Y".equals(option) || "y".equals(option)) {
                updateWorkspace(in, userRoot);
            }
        } else {
            updateWorkspace(in, userRoot);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private static void updateWorkspace(Scanner in, Preferences userRoot) {
    String workspace;
    System.out.println("Enter value for workspace:");
    workspace = in.nextLine();
    userRoot.put("workspace", workspace);
}

这只是一个示例。根据您的需要,您可以相应地进行更改。