在前面一篇<<保存Java程序狀態(tài)及設(shè)置之對(duì)象序列化>>中介紹了使用序列化的類來(lái)保存這些數(shù)據(jù),本篇文章介紹使用PRoperties文件來(lái)保存.Properties文件的本質(zhì)就是一個(gè)文本文件,文件中使用屬性和值來(lái)保存數(shù)據(jù),如:abc.name=Colin。使用Porperites文件來(lái)保存實(shí)際上就是創(chuàng)建一個(gè)Properites文件,在程序關(guān)閉的時(shí)候,將數(shù)據(jù)寫(xiě)入文件,再等程序啟動(dòng)的時(shí)候,從這個(gè)Properties文件中讀出數(shù)據(jù)。
我們假設(shè)有一個(gè)對(duì)象frame,在啟動(dòng)的時(shí)候要從一個(gè)properties文件中讀取數(shù)據(jù),再根據(jù)讀取的數(shù)據(jù)來(lái)設(shè)置其位置及大小,在frame關(guān)閉的時(shí)候?qū)⑽恢茫笮〉葦?shù)據(jù)保存到properties文件中。
當(dāng)程序啟動(dòng),創(chuàng)建frame的時(shí)候:
try{
Properties property = new Properties();
property.load(new FileInputStream("mysave.properties"));
frame.setSize(property.getProperty("frame.height"),property.getProperty("frame.width"));
frame.setLocation(property.getProperty("frame.left"),property.getProperty("frame.top"));
}
當(dāng)frame被關(guān)閉的時(shí)候,執(zhí)行下面的程序:
try{
Properties property = new Properties();
property.setProperty("frame.height",frame.getHeight());
property.setProperty("frame.width",frame.getWidth());
property.setProperty("frame.left",frame.getX());
property.setProperty("frame.top",frame.getY());
property.store(new FileOutputStream("mysave.properties"),"mysave.properties");
}
mysave.properties是被保存的文件,可以另外指定其地址。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注