欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Java的后台读取配置文件

程序员文章站 2022-04-11 23:15:43
...
前几天开发时遇到一个问题,在后台读取配置文件的时候无法读取属性值,于是上网查了查,现在在这分享给大家,

先附上代码吧:



包com.shafei.util;
进口java.io.BufferedInputStream中;
进口java.io.FileInputStream中;
进口java.io.FileOutputStream中;
进口的java.io.InputStream;
进口java.io.OutputStream中;
进口的java.util.Enumeration;
进口java.util.Properties;
进口org.apache.log4j.Logger;
公共类PropertieUtil {
私有静态记录器记录= Logger.getLogger(PropertieUtil.class);
私人PropertieUtil(){
}
/ **
*读取配置文件某属性
* /
公共静态字符串readValue(字符串文件路径,字符串键){
属性道具=新特性();
尝试{
//注意路径以/开始,没有则处理
如果(filePath.startsWith(“/”)!)
文件路径=“/”+文件路径;
InputStream的时间= PropertieUtil.class.getResourceAsStream(文件路径);
props.load(在);
字符串值= props.getProperty(键);
返回值;
}赶上(例外五){
logger.error(E);
返回null;
}
}
/ **
*打印配置文件全部内容(文件路径,配置文件名,如果有路径,道具/ test.properties)
* /
公共静态无效readProperties(字符串文件路径){
属性道具=新特性();
尝试{
//注意路径以/开始,没有则处理
如果(filePath.startsWith(“/”)!)
文件路径=“/”+文件路径;
InputStream的时间= PropertieUtil.class.getResourceAsStream(文件路径);
props.load(在);
枚举EN = props.propertyNames()<?>;
//遍历打印
的同时(en.hasMoreElements()){
字符串键=(字符串)en.nextElement();
String属性= props.getProperty(键);
的System.out.println(物业);
logger.info(键+“:”+物业);
}
}赶上(例外五){
logger.error(E);
}
}
/ **
*将值写入配置文件
* /
公共静态无效writeProperties(字符串文件名,字符串参数名称,字符串的parameterValue)抛出异常{
//本地测试特别注意,如果是Maven的项目,请到\目标目录下查看文件,而不是源代码下
//注意路径不能加/了,加了则移除掉
,如果(fileName.startsWith(“/”))
fileName.substring(1);
字符串文件路径= PropertieUtil.class.getResource(“/”)的getPath()+文件名。
//获取配置文件
属性PPS =新特性();
在的InputStream =新的BufferedInputStream(新的FileInputStream(文件路径));
pps.load(在);
附寄();
出的OutputStream =新的FileOutputStream(文件路径);
//设置配置名称和值
pps.setProperty(参数名称,的parameterValue);
//注释配置等于文件的注释
pps.store(满分,“更新”+参数名称+“名”);
了out.flush();
out.close();
}
公共静态无效的主要(字串[] args)抛出异常{
readProperties(“jdbc.properties”);
logger.info(readValue(“jdbc.properties”,“JAVABLOG_WRITE_URL”));
// writeProperties(“CONF / test.properties”,“dataSource.driver”,“测试”);
readProperties(“CONF / test.properties”);
}
}

上面的代码我也是学习大牛们的,也不是很难,很实用,希望对大家有帮助!