獲取一個應用程式的執行次數,如果超過5次,給出使用次數已達上限請註冊的提示
阿新 • • 發佈:2018-12-06
Properties的練習題:
獲取一個應用程式的執行次數,如果超過5次,給出使用次數已達上限請註冊的提示。
思路:
- 計數器
每次程式啟動時都需要技術一次,並且是在原有的次數上進行計數 - 計數器是一個變數,一旦程式結束,計數器消失…
那麼再次啟動程式時,計數器又恢復預設值
計數器生命更加長久一些,持久化,從記憶體中儲存到硬碟中 - 如何使用這個計數器
首先程式啟動時,應該先讀取這個用於計數器資訊的配置檔案,獲取上一次計數器次數,判斷它的次數。
其次,對該次數進行自增,並且自增後的數重新儲存到配置檔案中。 - 檔案中的資訊該如何進行儲存並體現
直接儲存次數可以,但是不明確該資料的含義,所以需要取一個變數名(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次執行程式,當在點選第六次執行程式時,控制檯輸出: