---------------------- android培训、java培训、期待与您交流! ----------------------
一: Properties 是 Hashtable 的子类,也就是说它具备 Map 集合的特点。而且他里面存储的键值都是字符串
因此不需要泛型,是集合中和IO技术想结合的集合容器,该对象的特点:可以用于键值对形式的配置文件
那么在加载数据时,需要数据有固定格式,通常要求 键=值
public Object setProperty(String key,String value) //调用 Hashtable 的方法 put。
public String getProperty(String key) //用指定的键在此属性列表中搜索属性。
public Set<String> stringPropertyNames() //返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键
public void list(PrintStream out) // 将属性列表输出到指定的输出流。
public void list(PrintWriter out) //将属性列表输出到指定的输出流。
public void load(InputStream inStream) throws IOException //从输入流中读取属性列表(键和元素对)。
public void load(Reader reader) throws IOException// 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
public void store(OutputStream out, String comments) throws IOException //
//以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
public void store(Writer writer,String comments) throws IOException
//以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
二、练习 :用于记录应用程序的运行次数。
需求:如果次数已到,给出注册提示
思路:
很容易的想到的是:计数器
可是该计数器定义在程序中,随着程序的运行在内存中,并进行自增
可是随着该应用程序的退出,该计数器也在内存中消失了
下一次在启动该程序,有重新从0开始计数。这不是我们所需要的
程序即使结束,该计数器的值也存在
下次程序启动时,会先加载计数器的值,并加1后再重新存储起来
所以要建立一个配置文件,用于记录该软件的使用次数
且该配置文件使用键值对的形式。这样便于阅读数据,并操作数据
键值对数据是 Map 集合
数据是以文件形式存储,使用io技术
那么 map + io---> Properties
配置文件可以实现应用程序数据的共享
public static void main(String[] args) throws IOException
{
Properties prop=new Properties();
File file=new File("f:\\io\\count.ini");
if (!file.exists())
file.createNewFile();
FileReader fr=new FileReader(file);
prop.load(fr);
int count=0;
String value=prop.getProperty("time");
if (value!=null)
{
count=Integer.parseInt(value);
if (count>=5)
{ System.out.println("您好,适用到期,请您注册");
return;
}
}
count++;
prop.setProperty("time",count+"");
FileWriter fw=new FileWriter(file);
prop.store(fw,"");
fw.close();
fr.close();
}
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima