Java 读写Properties配置文件详解
程序员文章站
2024-03-09 17:23:17
java 读写properties配置文件
1.properties类与properties配置文件
properties类继承自hashtable类并且实现了ma...
java 读写properties配置文件
1.properties类与properties配置文件
properties类继承自hashtable类并且实现了map接口,也是使用一种键值对的形式来保存属性集。不过properties有特殊的地方,就是它的键和值都是字符串类型。
2.properties中的主要方法
(1)load(inputstream instream)
这个方法可以从.properties属性文件对应的文件输入流中,加载属性列表到properties类对象。如下面的代码:
properties pro = new properties(); fileinputstream in = new fileinputstream("a.properties"); pro.load(in); in.close();
(2)store(outputstream out, string comments)
这个方法将properties类对象的属性列表保存到输出流中。如下面的代码:
fileoutputstream ofile = new fileoutputstream(file, "a.properties"); pro.store(ofile, "comment"); ofile.close();
如果comments不为空,保存后的属性文件第一行会是#comments,表示注释信息;如果为空则没有注释信息。
注释信息后面是属性文件的当前保存时间信息。
(3)getproperty/setproperty
这两个方法是分别是获取和设置属性信息。
3.代码实例
属性文件a.properties如下:
name=root
pass=liu
key=value
读取a.properties属性列表,与生成属性文件b.properties。代码如下:
import java.io.bufferedinputstream; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.inputstream; import java.util.iterator; import java.util.properties; public class propertytest { public static void main(string[] args) { properties prop = new properties(); try{ //读取属性文件a.properties inputstream in = new bufferedinputstream (new fileinputstream("a.properties")); prop.load(in); ///加载属性列表 iterator<string> it=prop.stringpropertynames().iterator(); while(it.hasnext()){ string key=it.next(); system.out.println(key+":"+prop.getproperty(key)); } in.close(); ///保存属性到b.properties文件 fileoutputstream ofile = new fileoutputstream("b.properties", true);//true表示追加打开 prop.setproperty("phone", "10086"); prop.store(ofile, "the new properties file"); ofile.close(); } catch(exception e){ system.out.println(e); } } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!