/**
* 读取properties配置文件
*/
package com.wizincloud.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.Properties;
public class GetProperties {
/**
* 获取key对应的value
* @param key
* @return
*/
public static String getValue(String key){
GetProperties readPps = new GetProperties();
String strCfgPath="";
String osType = System.getProperties().getProperty("os.name").toLowerCase();//windows xp
if(osType.startsWith("windows")){
strCfgPath = "/config_win.properties";
}
else{
strCfgPath = "/config_linux.properties";
}
return readPps.getPropertiesValue(key, strCfgPath);
}
/**
* 根据文件路径和key获取value
* @param key
* @param filePath
* @return
*/
public String getPropertiesValue(String key, String filePath) {
String value = null;
Properties properties = new Properties();
try {
InputStream is = getClass().getResourceAsStream(filePath);
properties.load(is);
value = properties.getProperty(key);
is.close();
} catch (IOException e) {
value = null;
}
return value;
}
/**
* 修改key对应的value
* @param key
* @param filePath
* @return
*/
public void setPropertiesValue(String key, String value,String filePath) {
Properties prop = new Properties();
InputStream fis = null;
OutputStream fos = null;
try {
URL url = getClass().getResource(filePath);
File file = new File(url.toURI());
fis = new FileInputStream(file);
prop.load(fis);
fis.close();//一定要在修改值之前关闭fis
fos = new FileOutputStream(file);
prop.setProperty(key, value);
prop.store(fos, "Update '" + key + "' value");
fos.close();
} catch (IOException e) {
System.err.println("Visit " + filePath + " for updating " + value + " value error");
} catch (URISyntaxException e) {
e.printStackTrace();
} finally{
try {
fos.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void setValue(String key, String value) {
GetProperties readPps = new GetProperties();
String strCfgPath="";
String osType = System.getProperties().getProperty("os.name").toLowerCase();//windows xp
if(osType.startsWith("windows")){
strCfgPath = "/config_win.properties";
}
else{
strCfgPath = "/config_linux.properties";
}
readPps.setPropertiesValue(key,value,strCfgPath);
}
public static void main(String[] args){
System.out.println(GetProperties.getValue("AccessExpires"));
//GetProperties.setValue("AccessToken","aaaa");
setValue("AccessExpires","2014-05-03 19:04:18");
System.out.println(GetProperties.getValue("AccessExpires"));
System.out.println(URLDecoder.decode("http%3A%2F%2Fwww.17tinke.com%2Fpath%3Fmethod%3D8"));
}
}
读取properties配置文件(包括windows和linux环境)
最新推荐文章于 2023-06-21 10:30:37 发布