我想创建一个布尔变量,仅告诉用户这是第一次运行类,还是第二次(或之后的nth)。我该怎么做?

public class boolTest {

  static boolean dirty;


   public static void main (String[] args) {

    dirty = false;

    if (!dirty) {
          System.out.println("First time running.");
          dirty = true;
          System.out.println("Now it's true.");
     }
     else
      {
      System.out.println("this is already true.");

       }

}
}


问题是,它总是说“首次运行”-


  C:\ Java_Scratch> java boolTest第一次运行。现在是真的。
  
  C:\ Java_Scratch> java boolTest第一次运行。现在是真的。

最佳答案

您需要将该信息手动保存到光盘上的某个文件中。实际上,您甚至不需要将其持久保存到文件中,而只需将其保存为文件即可。 (在这种情况下,仅存在文件就是足够的信息)。

例如这样的:

File checkFile = new File(".checkfile");
if(!checkFile.exists() || !checkFile.isFile()){
   // file does not exist, so this is the first time running the program.
   // create the file so that we know we have already run the next time
   Files.createFile(checkFile.toPath());
} else {
  // This file exists, we already ran the program previously
}

09-26 07:27