美文网首页
Properties简述

Properties简述

作者: 东风谷123Liter | 来源:发表于2018-10-10 22:16 被阅读0次

    Properties是hashtable的子类。
    也就是说他有map集合的特点,而且它里面存储的键值对都是字符串。
    他是集合中和IO技术相结合的集合容器。
    对象:键值对配置文件。如果要操作这种文件就要用到Propeties类。
    Popeties:

    • load();从流中加载键值对的信息。



      Properties的基本操作:

    import java.util.*;
    import java.io.*;
    class propetiesDemo{
        public static void main(String[] args) throws IOException{
            method_1();
        }
        //演示:如何将流中的数据存储到集合中。
        //想要将info.txt中的键值对中的数据存到集合中进行操作。
        /*
        思路:
        1,用一个流有info.txt文件相关联。
        2,读取一行数据,将该行数据用“=”进行分割。
        3,等号左边为键,右边为值,存入到Propeerties集合即可。
        */
        public static void method_1() throws IOException{
            BufferedReader bufr = new BufferedReader(new FileReader("F:\\test\\info.txt"));
            String line = null;
            Properties prop = new Properties();
            while((line=bufr.readLine())!= null){
                String[] arr = line.split("=");
                prop.setProperty(arr[0],arr[1]);
            }
            bufr.close();
            System.out.println(prop);
        }
    }
    
    • store()方法:将集合中的元素存入文档。

    Properties练习:

    • 需求:用于记录应用程序的运行次数。如果使用次数已到,那么就显示注册信息。
    • 思路:计数器。如果计数器定义在程序中,那每次程序关闭时,计数器就停止作业。当下次开启程序时,计数器又会从0开始计数。要想下次从上次计数的基础上开始计数就需要定义配置文件,就需要用到properties。
    • 这样配置文件可以实现数据共享。
    import java.io.*;
    import java.util.*;
    class runCount{
        public static void main(String[] args) throws IOException{
            Properties prop = new Properties();
            //将配置文件定义为文件对象
            File file = new File("/Users/xieliting/JAVA/test/init.ini");
            //如果文件不存在就创建文件
            if(!file.exists())
                file.createNewFile();
            FileInputStream fis = new FileInputStream(file);
            //从配置文件输入字节流中读取属性列表
            prop.load(fis);
            //用count表示程序运行的次数
            int count = 0;
            //定义value存取times的值
            String value = prop.getProperty("times");
            System.out.println("times="+prop.getProperty("times"));
            if(value!=null){
                count = Integer.parseInt(value);
                if(count>=5){
                    System.out.println("pay for it .");
                    return ;
                }
            }
            count++;
            //更新映射表的信息
            prop.setProperty("times",count+"");
            System.out.println("times="+prop.getProperty("times"));
            //定义输出流对象
            FileOutputStream fos = new FileOutputStream(file);
            //将properties映射表中的数据存回到文件夹中。
            prop.store(fos,"");
            fis.close();
            fos.close();
        }
    }
    

    相关文章

      网友评论

          本文标题:Properties简述

          本文链接:https://www.haomeiwen.com/subject/hyamaftx.html