Properties集合_修改配置信息

集合中的数据来自于一个文件
   注意:必须要保证该文件中的数据是键值对。
      需要使用到读取流

 

使用load()方法读取已有文件中的数据,存储到Properties集合中

 1 public class PropertiesDemo {

 2     public static void main(String[] args) throws IOException {

 3         PropertiesDemo();

 4     }

 5     public static void PropertiesDemo() throws IOException {

 6         Properties prop = new Properties();

 7         

 8         FileInputStream fr = new FileInputStream("F:\\info.java");

 9         

10         prop.load(fr);

11         

12         prop.list(System.out);

13         

14     }

15 }

 

 

对已有的配置文件中的信息进行修改

   1.读取这个文件
   2.并将这个文件的键值数据存储到集合中
   3.再通过集合对数据进行修改
   4.再通过流将修改后的数据存储到文件中

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Properties;



public class PropertiesDemo {

    public static void main(String[] args) throws IOException {

        test();

    }

    public static void test() throws IOException{

        

        //读取这个文件,文件可能不存在,所以先将文件封装成对象进行判断的文件是否存在,如果不存在可以抛异常或者创建一个,具体看需求

        File file = new File("F:\\info.java");

        if(!file.exists()){

            file.createNewFile();

        }

        FileInputStream fr = new FileInputStream(file);

        

        //创建集合存储配置信息

        Properties prop = new Properties();

        

        //将流中的信息存储到集合中

        prop.load(fr);

        

        //修改配置信息

        prop.setProperty("04", "huangjianfengqingads");

        

        //保存

        FileWriter fw = new FileWriter(file);

        prop.store(fw, "");

        

        prop.list(System.out);

        fw.close();

        fr.close();

        

    }

}

 

 

模拟Load()方法:

 1 import java.io.BufferedReader;

 2 import java.io.FileReader;

 3 import java.io.IOException;

 4 import java.util.Properties;

 5 

 6 public class PropertiesDemo {

 7     public static void main(String[] args) throws IOException {

 8         myLoad();

 9     }

10     //模拟load方法

11     public static void myLoad() throws IOException {

12         Properties prop = new Properties();

13         BufferedReader buf = new BufferedReader(new FileReader("F:\\info.txt"));

14         String line = null;

15         while((line = buf.readLine())!=null){

16             if(line.startsWith("#")){

17                 continue;

18             }

19             String[] arr = line.split("=");

20             //System.out.println(arr[0]+"::"+arr[1]);

21             prop.setProperty(arr[0], arr[1]);

22             prop.list(System.out);

23         }

24     }

25 

26 }

 

你可能感兴趣的:(properties)