java:Properties属性文件概念
在java之前的国际化程序中提出了一个属性文件的概念,属性文件的后缀是:*。properties,那么在java中提供了意个属性文件的专门操作类,Properties,此类的定义如下:
public class Properties extends Hashtable<Object, Object>
此类是Hashtable的子类,所有属性都是字符串形式存入,此类的常用方法:
setProperties(String key, String value):设置属性
getProperties(String key):获取属性
getProperties(String key, String defaulValue):获取属性,属性不存在返回默认值
list(Printtream out):输出全部属性
store(OuputStream out, String comments):将属性内容保存在普通文件中
storeToXML(OutputStreas os, String comment):将内容以XML格式存放
load(InputStream, inStream):从普通文件中读取属性
loadFromXML(inputStream in): 从xml格式的文件中读取属性内容
设置属性、获取属性
//设置文件
Properties pro = new Properties();
pro.setProperty("height", "175");
pro.setProperty("weight", "68");
pro.setProperty("size", "18");
//获取属性
System.out.println( pro.getProperty("height") );
//获取属性,如果不存在取默认属性
System.out.println( pro.getProperty("header", "noting") );
结果:
175
noting
写入属性文件:
Properties p = new Properties();
p.setProperty("a", "java");
p.setProperty("b", "c");
p.setProperty("c", "python");
p.setProperty("d", "c++");
p.setProperty("e", "php");
try {
p.store(new FileOutputStream( new File("E:"+File.separator + "work" + File.separator + "java" + File.separator + "laguage.property" ) ),
"属性文件");
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
存文件的的内容:
#\u5C5E\u6027\u6587\u4EF6
#Sat Sep 16 08:22:24 CST 2017
b=c
a=java
e=php
d=c++
c=python
获取属性:
// TODO 自动生成的方法存根
Properties p = new Properties();
try {
p.load(new FileInputStream( new File("E:"+File.separator + "work" + File.separator + "java" + File.separator + "laguage.property") ));
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println(p.getProperty("a"));
得出结果:
java