java过去配置文件的值_java对.properties配置文件操作

实现运用Java.util.Properties来进行对.properties配置文件操作。

配置文件实例:如debug.properties

#Tue Mar 21 15:46:17 CST 2017

#key=value

remote.debug.prot=7451

第一步写个获取文件路径的外部方法

//-in- String filePath:配置文件名如debug.properties--

//-return- 文件类对象--

public static File getFile (String filePath) throws IOException{

try{

ClassLoader classLoader = Thread.currentThread()

.getContextClassLoader();

URL url = classLoader.getResource(filePath);

return new File(url.toURI());

}catch(Exception e){

LOG.error("配置文件错误",e);

return null;

}

}

2.1根据key获取value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- key:键值如remote.debug.prot--

//-return- value值--

public static String getValueByKey(String filePath, String key) throws IOException{

try {

File fileURI = PropertiesUtil.getFile(filePath);

InputStream in = new BufferedInputStream (new FileInputStream(fileURI));

Properties pps = new Properties();

pps.load(in);

String value = pps.getProperty(key);

return value;

}catch (Exception e) {

LOG.error("初始化配置文件失败",e);

return null;

}

}

2.2得到所有HashMap方法

//-in- String filePath:配置文件名如debug.properties--

//-return-  HashMap: HashMap--

public static HashMap getAllProperties(String filePath) throws IOException {

HashMap proper = new HashMap();

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new BufferedInputStream(new FileInputStream(fileURI));

pps.load(in);

Enumeration> en = pps.propertyNames(); //得到配置文件的名字

while(en.hasMoreElements()) {

String strKey = (String) en.nextElement();

String strValue = pps.getProperty(strKey);

proper.put(strKey, strValue);

}

}catch(Exception e)

{

LOG.error("获取所有配置文件信息失败",e);

return null;

}

return proper;

}

2.3根据key获取value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- pKey:  键值如remote.debug.prot--

//-in- pValue: 结果值如 2000--

//-return- 状态值--

public static String writeProperties (String filePath, String pKey, String pValue) throws IOException {

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new FileInputStream(fileURI);

pps.load(in);

OutputStream out = new FileOutputStream(fileURI);

pps.setProperty(pKey, pValue);

pps.store(out, "");

return TRUE;

}catch(Exception e)

{

LOG.error("插入配置文件失败", e);

return null;

}

}

2.3写入所有key,value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- HashMap:  键值对HashMap如remote.debug.prot=900--

//-return- 状态值--

public static String setAllProperties(String filePath,HashMap kv) throws IOException {

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new FileInputStream(fileURI);

pps.load(in);

OutputStream out = new FileOutputStream(fileURI);

Iterator> iter = kv.entrySet().iterator();

while (iter.hasNext()) {

@SuppressWarnings("rawtypes")

Map.Entry entry = (Map.Entry) iter.next();

Object key = entry.getKey();

Object val = entry.getValue();

pps.setProperty((String)key, (String)val);

pps.store(out, "");

}

}catch(Exception e)

{

return null;

}

return TRUE;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值