1. 程式人生 > >獲取一個應用程式的執行次數,如果超過5次,給出使用次數已達上限請註冊的提示

獲取一個應用程式的執行次數,如果超過5次,給出使用次數已達上限請註冊的提示

Properties的練習題:
獲取一個應用程式的執行次數,如果超過5次,給出使用次數已達上限請註冊的提示。

思路:

  1. 計數器
    每次程式啟動時都需要技術一次,並且是在原有的次數上進行計數
  2. 計數器是一個變數,一旦程式結束,計數器消失…
    那麼再次啟動程式時,計數器又恢復預設值
    計數器生命更加長久一些,持久化,從記憶體中儲存到硬碟中
  3. 如何使用這個計數器
    首先程式啟動時,應該先讀取這個用於計數器資訊的配置檔案,獲取上一次計數器次數,判斷它的次數。
    其次,對該次數進行自增,並且自增後的數重新儲存到配置檔案中。
  4. 檔案中的資訊該如何進行儲存並體現
    直接儲存次數可以,但是不明確該資料的含義,所以需要取一個變數名(count)
    如count=2; 所以使用鍵值對儲存 Map 由於還需要對資料進行操作,所以還需要使用IO流
    所以使用Properties

程式碼:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;

public class Demo3 {

	public static void main(String[] args) throws Exception {
		getAppCount();

	}

	private static void getAppCount() throws Exception {
		//將配置檔案封裝成File物件
		File config=new File("count.properties");
		if(!config.exists()){
			config.createNewFile();
			
		}
		
		FileInputStream fis=new FileInputStream(config);
		Properties prop=new Properties();
		prop.load(fis);
		//從集合中通過鍵獲取次數
		String value=prop.getProperty("time");
		//定義一個計數器,記錄獲取到的次數
		int count=0;
		
		if(value!=null){
			//如果配置檔案中有鍵值資訊,取出來轉換為int型別
			count=Integer.parseInt(value);
			if(count>=5){
				System.out.println("使用次數完畢,請充錢...");
				return;
			}
		}
		count++;
		
		//將改變後的次數重新儲存到集合中
		prop.setProperty("time", count+"");
		FileOutputStream fos=new FileOutputStream(config);
		prop.store(fos, "");
		fos.close();
		fis.close();
		
		
	}

}

連續點選5次執行程式,當在點選第六次執行程式時,控制檯輸出:
在這裡插入圖片描述