码迷,mamicode.com
首页 > 编程语言 > 详细

java IO流(properties)

时间:2015-08-10 18:12:54      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

/*
 * 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!