【问题标题】:Java Desktop Application - memoryJava 桌面应用程序 - 内存
【发布时间】:2017-04-06 12:29:30
【问题描述】:

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

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

但我不能这样做,因为每次我关闭应用程序并再次运行它时,所有变量都会重新初始化。

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

【问题讨论】:

  • 您需要将值保存到文件或数据库或任何比您的应用程序寿命更长的东西。看看Properties,因为这是在 java 中加载和保存配置文件的简单方法。
  • 需要保持状态的桌面应用程序通常有一个配置文件。喜欢eclipse.ini

标签: java executable-jar


【解决方案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);
}

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

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多