最近因为要使用到properties文件,所以写了个工具类。对它进行读取操作。
- properties文件内容
name=jason
age:1222
person:JAKE
- 工具类代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.logging.Log; //公共的日志记录
import org.apache.commons.logging.LogFactory; //日志记录Factory
/**
* Properties工具类
* @author lzx
* 2017.05.28
*/
public class PropertiesUtil {
private static final Log log = LogFactory.getLog(PropertiesUtil.class);
private static Properties env = new Properties();
private static String fileProperties; //文件名
PropertiesUtil(){} //空的构造方法
//参数实例化类时 fileProperties为要读的文件名
PropertiesUtil(String fileProperties){
this.fileProperties=fileProperties;
try {
InputStream is = PropertiesUtil.class.getClassLoader().getResourceAsStream(fileProperties);
env.load(is);
is.close();
} catch (Exception e) {
log.error(e);
}
}
/**
* 取属性值
* @param key
* @return
*/
public static String getProperty(String key){
return env.getProperty(key);
}
/**
* 设置属性值
* @param key
* @param value
*/
public static void setProperty(String key, String value){
try{
File file = new File(PropertiesUtil.class.getClassLoader().getResource(".").getPath()+File.separator+fileProperties);
FileOutputStream outStream = new FileOutputStream(file);
env.setProperty(key, value);
//写入properties文件
env.store(outStream, null);
} catch (Exception ex) {
log.error(ex);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new PropertiesUtil("system.properties").getProperty("man"));
// new PropertiesUtil("system.properties").setProperty("age","liaozexu");
//System.out.println(PropertiesUtil.class.getClassLoader().getResource(".").getPath());
}
}