Java 如何使变量即使在关闭应用程序后也存储值?
我有一个类Launcher.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
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;