Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使变量即使在关闭应用程序后也存储值?_Java_Save - Fatal编程技术网

Java 如何使变量即使在关闭应用程序后也存储值?

Java 如何使变量即使在关闭应用程序后也存储值?,java,save,Java,Save,我有一个类Launcher.java: public class Launcher { public static void main(String... args){ new App(); System.out.println( "Innovate's current build is : " + App.getBuild()); } } 和类App.java: import javax.swing.*; public class App extends JFram

我有一个类Launcher.java:

public class Launcher {

public static void main(String... args){

    new App();
    System.out.println( "Innovate's current build is : " + App.getBuild());
}


}
和类App.java:

import javax.swing.*;

public class App extends JFrame {

static int build;

public App(){

    super("Innovate");
    setBuild(getBuild() + 1);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500,200);
    setResizable(false);

}

public static void setBuild(int inc){
    build = inc;
}

public static int getBuild(){
    return build;
}

}
每次运行应用程序时,我都试图使构建编号递增1,但是每当我运行应用程序时,打印出1而不递增,我将如何执行此操作


谢谢

您可以继续并序列化版本号。因为每次应用程序关闭时它都会丢失


退出应用程序时,您必须将内部版本号保存到文件中。创建第一个应用程序类对象时,您已从文件中读取并将其保存到构建变量中。您可以使用静态初始值设定项块从文件中读取数据,因为静态块只执行一次:第一次创建该类的对象时,或者第一次访问该类的静态成员时(即使从未创建该类的对象)。

如其他人所述,您可以使用,或者您可以将值读/写到属性文件之类的文件中。虽然这些都将工作,我不确定这是最好的解决方案,你正在努力。如果您正试图跟踪应用程序的内部版本号,通常情况下,该版本号会作为静态值保存在项目中,并且每次真正部署应用程序时都会更改,无论是版本/快照等。希望这会有所帮助。

有点过火,我会选择创建一个简单的属性文件。这当然管用。问题只是你做了什么。再看看肯尼思·克拉克说了些什么。
static int build;