java IO流(properties)

/*
 * 1.Properties是hashtable的子類:
 * 他具備map集合的特點,而且它裏面存儲的鍵值對都是字符串。
 * 是集合中和IO技術相結合的集合容器。
 * 該對象的特點:可以用於鍵值對形式的配置文件,操作硬盤上的鍵值對。
 * 
 * 2.將流中的數據存儲到集合中(load方法原理):
 * 用一個流和info.txt文件關聯。
 * 讀取一行數據,將改行數據用“=”進行切割。
 * 等號左邊作爲鍵,右邊作爲值,存入到Properties集合中。
 * 加載數據時,數據需要固定格式,鍵=值。
 */
import java.util.*;
import java.io.*;
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
//GetAndSet();
//method_1();
loadeDemo_1();
}
//將流中的數據存儲到集合中
public static void loadeDemo_1() throws IOException
{
FileReader f=new FileReader("c:\\demo1.txt");
Properties pro=new Properties();
pro.load(f);
//列出集合目錄。
pro.list(System.out);
//sop(pro);
pro.setProperty("wangwu","39");
FileWriter fw=new FileWriter("c:\\demo1.txt");
pro.store(fw,"hahahaha");
pro.list(System.out);
f.close();
fw.close();
}
public static void  method_1() throws IOException
{
Properties pro=new Properties();
BufferedReader buf=new BufferedReader(new FileReader("c:\\demo1.txt"));
String line=null;
while((line=buf.readLine())!=null)
{
String arr[]=line.split("=");

pro.setProperty(arr[0],arr[1]);
}
sop(pro);
}
public static void GetAndSet()
{
Properties pro=new Properties();
pro.setProperty("zhangsan","30");
pro.setProperty("lisi","25");
//sop(pro);
//sop(pro.getProperty("lisi"));
pro.setProperty("lisi",99+"");
for(String s:pro.stringPropertyNames())
{
sop(s+"---"+pro.getProperty(s));
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}

}


/*
 * 需求:
 * 用於記錄應用程序運行次數,如果使用次數已到,給出註冊提示。
 * 需要一個配置文件,保存每次使用的次數,文件中數據使用鍵值對的形式。
 * 配置文件可以實現應用程序數據的共享。
 */
import java.io.*;
import java.util.*;
public class PropertiesDemo2 {
public static void main(String[] args) throws IOException {
File f=new File("c://demo2.ini");
if(!f.exists())
f.createNewFile();
FileInputStream fi=new FileInputStream(f);
Properties pro=new Properties();
pro.load(fi);
String value=pro.getProperty("time");
int count=0;
if(value!=null)
{

count=Integer.parseInt(value);
if(count>=5)
sop("試用次數已滿,請購買正式版本");
}
count++;
pro.setProperty("time",count+"");
FileOutputStream fos=new FileOutputStream(f);
pro.store(fos,"lol");
fi.close();
fos.close();

public static void sop(Object obj)
{
System.out.println(obj);
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章