Java 对 Properties 文件的操作详解及简单实例
Java对Properties文件的操作
简介
在Java中,我们常用java.util.Properties.Properties类来解析Properties文件,Properties格式文件是Java常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下:
name=shawearn
Properties类是java.util.Hashtable<Object,Object>的子类,用于键和值之间的映射。
在对Properties格式文件的操作中,我们常使用Properties类的一下方法:
Properties():用于创建一个无任何属性值Properties对象;
- voidload(InputStreaminStream):从输入流中加载属性列表;
- voidstore(OutputStreamout,Stringcomments):根据输出流将属性列表保存到文件中;
- String getProperty(Stringkey):获取指定键的值;
- voidsetProperty(Stringkey,Stringvalue):设置指定键的值,若指定键已经在原属性值列表中存在,则覆盖;若指定键在原属性值列表中不存在,则新增;
写入Properties文件:
//创建一个Properties实例; Propertiesp=newProperties(); //为Properties设置属性及属性值; p.setProperty("name","shawearn"); p.setProperty("address","XX省XX市"); //保存Properties到shawearn.properties文件中; FileOutputStreamout=newFileOutputStream("shawearn.properties"); p.store(out,"CreatebyShawearn!"); out.close();
读取Properties文件:
//创建一个Properties实例; Propertiesp=newProperties(); //读取配置文件; FileInputStreamin=newFileInputStream("shawearn.properties"); //加载配置文件到Properties实例中; p.load(in); in.close();
最后附上测试代码:
packagecom.shawearn.test; importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.io.IOException; importjava.util.Properties; importjava.util.Set; /** *@authorShawearn * */ publicclassTestProperties{ /** *@paramargs *@throwsIOException */ publicstaticvoidmain(String[]args)throwsIOException{ TestPropertiest=newTestProperties(); //测试写入; t.testWrite(); //测试读取; t.testRead(); } /* *测试对Properties文件的写入操作; */ privatevoidtestWrite()throwsIOException{ //创建一个Properties实例; Propertiesp=newProperties(); //为Properties设置属性及属性值; p.setProperty("name","shawearn"); p.setProperty("address","XX省XX市"); //保存Properties到shawearn.properties文件中; FileOutputStreamout=newFileOutputStream("shawearn.properties"); p.store(out,"CreatebyShawearn!"); out.close(); System.out.println("写入成功!"); } /* *测试对Properties文件的读取操作; */ privatevoidtestRead()throwsIOException{ //创建一个Properties实例; Propertiesp=newProperties(); //读取配置文件; FileInputStreamin=newFileInputStream("shawearn.properties"); //加载配置文件到Properties实例中; p.load(in); in.close(); //获取Properties文件中所有的key; Set<String>keys=p.stringPropertyNames(); //遍历所有的key; for(Stringkey:keys){ //获取Properties文件中key所对应的value; Objectvalue=p.get(key); //输入key和对应的value; System.out.println(key+"=>"+value); } } }
控制台输出结果:
address=>XX省XX市 name=>shawearn
shawearn.properties文件内容:
#CreatebyShawearn! #ThuNov1912:43:41CST2015 name=shawearn address=XX\u7701XX\u5E02
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!