zoukankan      html  css  js  c++  java
  • IO流之Properties类

    Properties类介绍

    Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

    特点:

    1、Hashtable的子类,map集合中的方法都可以用。

    2、该集合没有泛型。键值都是字符串。

    3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。

    4、有和流技术相结合的方法。

    l  load(InputStream)  把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中

    l  load(Reader) 

    l  store(OutputStream,commonts)把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息

    l  stroe(Writer,comments);

    代码演示:

    /*
     * 
     * Properties集合,它是唯一一个能与IO流交互的集合
     * 
     * 需求:向Properties集合中添加元素,并遍历
     * 
     * 方法:
     * public Object setProperty(String key, String value)调用 Hashtable 的方法 put。
     * public Set<String> stringPropertyNames()返回此属性列表中的键集,
     * public String getProperty(String key)用指定的键在此属性列表中搜索属性
     */
    public class PropertiesDemo01 {
    	public static void main(String[] args) {
    		//创建集合对象
    		Properties prop = new Properties();
    		//添加元素到集合
    		//prop.put(key, value);
    		prop.setProperty("周迅", "张学友");
    		prop.setProperty("李小璐", "贾乃亮");
    		prop.setProperty("杨幂", "刘恺威");
    		
    		//System.out.println(prop);//测试的使用
    		//遍历集合
    		Set<String> keys = prop.stringPropertyNames();
    		for (String key : keys) {
    			//通过键 找值
    			//prop.get(key)
    			String value = prop.getProperty(key);
    			System.out.println(key+"==" +value);
    		}
    	}
    }
    

     将集合中内容存储到文件

    需求:使用Properties集合,完成把集合内容存储到IO流所对应文件中的操作

    分析:

    1,创建Properties集合

    2,添加元素到集合

    3,创建流

    4,把集合中的数据存储到流所对应的文件中

    stroe(Writer,comments)

    store(OutputStream,commonts)

    把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息

    5,关闭流

     代码演示:

    public class PropertiesDemo02 {
    	public static void main(String[] args) throws IOException {
    		//1,创建Properties集合
    		Properties prop = new Properties();
    		//2,添加元素到集合
    		prop.setProperty("周迅", "张学友");
    		prop.setProperty("李小璐", "贾乃亮");
    		prop.setProperty("杨幂", "刘恺威");
    		
    		//3,创建流
    		FileWriter out = new FileWriter("prop.properties");
    		//4,把集合中的数据存储到流所对应的文件中
    		prop.store(out, "save data");
    		//5,关闭流
    		out.close();
    	}
    }
    

      

     

     

     读取文件中的数据,并保存到集合

    需求:从属性集文件prop.properties 中取出数据,保存到集合中

    分析:

    1,创建集合

    2,创建流对象

    3,把流所对应文件中的数据 读取到集合中

    load(InputStream)  把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中

                      load(Reader) 

    4,关闭流

    5,显示集合中的数据

    代码演示:

    public class PropertiesDemo03 {

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

            //1,创建集合

            Properties prop = new Properties();

            //2,创建流对象

            FileInputStream in = new FileInputStream("prop.properties");

            //FileReader in = new FileReader("prop.properties");

            //3,把流所对应文件中的数据 读取到集合中

            prop.load(in);

            //4,关闭流

            in.close();

            //5,显示集合中的数据

            System.out.println(prop);

           

        }

    }

     注意:使用字符流FileReader就可以完成文件中的中文读取操作了

      

      

  • 相关阅读:
    JavaEE——SpringMVC(11)--拦截器
    JavaEE——SpringMVC(10)--文件上传 CommonsMultipartResovler
    codeforces 460A Vasya and Socks 解题报告
    hdu 1541 Stars 解题报告
    hdu 1166 敌兵布阵 解题报告
    poj 2771 Guardian of Decency 解题报告
    hdu 1514 Free Candies 解题报告
    poj 3020 Antenna Placement 解题报告
    BestCoder5 1001 Poor Hanamichi(hdu 4956) 解题报告
    poj 1325 Machine Schedule 解题报告
  • 原文地址:https://www.cnblogs.com/lxx2014/p/9541400.html
Copyright © 2011-2022 走看看