【IO】使用Properties進行資料讀寫
阿新 • • 發佈:2019-01-23
Properties繼承自Hashtable,使用鍵值對儲存資料,便於進行資料管理。下面是一個模擬遊戲資料儲存的例子。
import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Properties; public class Test { private static final String PATH = "C:\\Users\\student\\Desktop"; public static void main(String[] args) throws IOException{ Properties prop = new Properties(); int newScore = 10;//當前得分 String difficulty = "Easy";//當前遊戲難度 //首先判斷檔案是否存在 if(new File(PATH,"test.properties").exists()){ //載入檔案 prop.load(new FileReader(new File(PATH,"test.properties"))); //判斷本次遊戲難度 if(difficulty == "Easy"){ //判斷是否超過歷史分數 if(Integer.parseInt(prop.getProperty("easy_score")) < newScore){ prop.setProperty("easy_score", newScore+"");//更改儲存資料 prop.store(new FileWriter(new File(PATH,"test.properties")), "GameData"); } }else{ if(Integer.parseInt(prop.getProperty("hard_score")) < newScore){ prop.setProperty("hard_score", newScore+""); prop.store(new FileWriter(new File(PATH,"test.properties")), "GameData"); } } //檔案不存在則說明第一次遊戲,初始化遊戲檔案 }else{ prop.setProperty("easy_score", "0"); prop.setProperty("hard_score", "0"); prop.store(new FileWriter(new File(PATH,"test.properties")), "GameData"); } } }
第一次執行結果:
#GameData
#Sun Sep 11 21:40:23 CST 2016
hard_score=0
easy_score=0
第二次執行結果:
#GameData
#Sun Sep 11 21:40:39 CST 2016
easy_score=10
hard_score=0