黑马程序员-Java中的properties类

来源:互联网 发布:国泰君安富易软件 编辑:程序博客网 时间:2024/04/27 17:52

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

先了解一下properties文件是什么:

1、properties文件是一个文本文件

2、properties文件有两种书写形式,一是注释,二是属性配置。

注释:以#号开头的字符称为注释,可以换行,换行用'\'表示。

属性配置:以"key=value"的形式书写的一个属性配置信息。其中前后的空格在解析时候会被忽略。

3、properties文件可以只有键而没有值。也可以仅有键和等号而没有值,但无论如何一个属性配置不能没有键。

一个格式良好的properties文件:

#格式良好的properties文件

  aaa=111

  bbb=222

从类的结构层次来看,Properties类继承自HashTable类,而HashTable类实现了Map接口,因此Properties类本质上是一种简单的Map容器。从实际操作上Properties也表现了一种对Map结构的操作。properties文件本身就表示了一个"键值对"的集合。因此,Properties类属于集合容器的家族,在使用前应该创建一个Properties的容器,实际上就是创建一个默认不带参数的Properties对象。然后通过别的方式给里面添加"键值对"。

测试代码:演示了创建一个properties文件,程序加载properties文件并从中读取程序启动的次数。

public class PropertiesFile {public static void main(String[] args) {Properties pro = new Properties();File abcfile = new File("D:\\abc.properties");try {if(abcfile.createNewFile()){//第一次创建文件pro.setProperty("count", "0");}FileInputStream file = new FileInputStream(abcfile);pro.load(file);int c = Integer.parseInt(pro.getProperty("count")) + 1;System.out.println("程序运行了" + c + "次");pro.setProperty("count", new Integer(c).toString());pro.store(new FileOutputStream(abcfile), "properties");} catch (FileNotFoundException e) {// TODO Auto-generated catch block} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
程序每次运行都会从abc.properties配置文件中读取程序启动的次数,在此基础上可以扩展成当程序启动的次数超过预定的次数以后程序就停止运行,这样就可以防止别人恶意启动软件。

----------------------ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com

0 0
原创粉丝点击