Properties 总结 day 12

来源:互联网 发布:php字符串转数组 编辑:程序博客网 时间:2024/04/24 23:37

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