A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MUFCRyanCR7 中级黑马   /  2015-9-1 20:32  /  417 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
Properties是hashtable的子类,具备Map集合的特点,其内部存储的是键值对,
        它是集合中和IO技术相结合的容器。
特点:可用于键值对形式的配置文件,且格式固定:键=值。
*/

package file;

import java.io.*;
import java.util.*;
class IOProperties
{
        public static void main(String[] args) throws IOException
        {
                //loadMethod();
                loadDemo();
        }
       
        //load方法演示
        public static void loadDemo() throws IOException
        {
                Properties prop = new Properties();
                FileInputStream fis = new FileInputStream("D:\\java_work\\BasicFiles\\settingsinfo.txt");

                //将流中的数据加载进集合
                prop.load(fis);

                prop.setProperty("player","Memphis");        //只能在内存中改变值,文件中不变化
                prop.setProperty("number","7");

                //改变文件中的值,将上一步内存中改变的值同步到文本中并修改。
                FileOutputStream fos = new FileOutputStream("D:\\java_work\\BasicFiles\\settingsinfo.txt");
                prop.store(fos,"Ryan");                //"Ryan"是注释内容,以#开头,Properties不执行,此外会默认注释时间。
                prop.list(System.out);

                fos.close();
                fis.close();
        }

        /*load方法原理演示:将流中的数据存储到集合中
        需求:将settingsinfo.txt中的键值对数据存到集合中进行操作。
        步骤:1.用一个流和settingsinfo.txt文件进行关联。
                  2.读取一行数据,将该行数据用"="进行切割。
                  3.等号左边为键,右边为值,存入到Properties集合中即可。
        */
        public static void loadMethod() throws IOException
        {
                BufferedReader bufr = new BufferedReader(new FileReader("D:\\java_work\\BasicFiles\\settingsinfo.txt"));
                Properties prop = new Properties();
                String line = null;
                while ((line=bufr.readLine())!=null)
                {
                        String[] arr = line.split("=");
                        prop.setProperty(arr[0],arr[1]);
                }
                bufr.close();
                sop(prop);
        }

        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}

1 个回复

倒序浏览
还要一周才会学到......
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马