/*
* 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);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
java IO流(properties)
原文:http://blog.csdn.net/qq_29817411/article/details/47401667