您的位置:首页 > 编程语言 > Java开发

java IO流(properties)

2015-08-10 17:21 435 查看
/*

 * 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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: