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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!