【賽迪網(wǎng)技術社區(qū)整理】
在Windows開發(fā)中,可以使用*.ini文件來保存程序的狀態(tài)或設置等數(shù)據(jù),并且一般都提供了操作ini文件的API。但在Java中怎么實現(xiàn)類似的功能呢?比如,在程序中,我們需要保存一個窗口的位置,讓程序在下次啟動的時候,仍然保持在上一次關閉的時候的位置,或者程序需要將數(shù)據(jù)庫連接的設置保存下來。
在前面一篇<<保存Java程序狀態(tài)及設置之對象序列化>>中介紹了使用序列化的類來保存這些數(shù)據(jù),本篇文章介紹使用Properties文件來保存.Properties文件的本質(zhì)就是一個文本文件,文件中使用屬性和值來保存數(shù)據(jù),如:abc.name=Colin。使用Porperites文件來保存實際上就是創(chuàng)建一個Properites文件,在程序關閉的時候,將數(shù)據(jù)寫入文件,再等程序啟動的時候,從這個Properties文件中讀出數(shù)據(jù)。
我們假設有一個對象frame,在啟動的時候要從一個properties文件中讀取數(shù)據(jù),再根據(jù)讀取的數(shù)據(jù)來設置其位置及大小,在frame關閉的時候?qū)⑽恢?,大小等?shù)據(jù)保存到properties文件中。
當程序啟動,創(chuàng)建frame的時候:
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"));
}
當frame被關閉的時候,執(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是被保存的文件,可以另外指定其地址
本文根據(jù)作者自己的心得所寫,難免有疏忽遺漏,歡迎對文章進行批評指正。
保存Java程序狀態(tài)及設置Properties文件
更新時間: 2008-04-24 14:58:46來源: 粵嵌教育瀏覽量:669