java類中有一個字符串參數,內容為IP地址,如何將其抽取出來,放到配置文件中
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import org.apache.log4j.Logger;
public class ConfigUtil {
private static final Logger logger = Logger.getLogger(Thread
.currentThread().getStackTrace()[1].getClassName());
private static String fileName = "D:/test.properties";
private static Properties resourcesCfg = null;
static {
resourcesCfg = new Properties();
loadConfig();
}
/**
* 保存配置文件參數
* @param paramName 參數名
* @param paramValue 參數值
*/
public static void saveConfig(String paramName, String paramValue) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(java.net.URLDecoder.decode(fileName,
"utf-8"));
resourcesCfg.setProperty(paramName, paramValue);
resourcesCfg.store(fos, "Update '" + paramName + "' value");
} catch (FileNotFoundException e) {
logger.error("找不到配置文件");
} catch (UnsupportedEncodingException e) {
logger.error("讀取配置文件轉碼錯誤");
} catch (IOException e) {
logger.error("讀取配置文件出錯.");
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
logger.error("讀取配置文件出錯.");
}
}
}
}
/**
* 加載配置信息文件.
*/
public static void loadConfig() {
FileInputStream fis = null;
try {
fis = new FileInputStream(java.net.URLDecoder.decode(fileName, "utf-8"));
resourcesCfg.load(fis);
} catch (FileNotFoundException e) {
logger.error("找不到配置文件");
} catch (UnsupportedEncodingException e) {
logger.error("讀取配置文件轉碼錯誤");
} catch (IOException e) {
logger.error("讀取配置文件出錯.");
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
logger.error("讀取配置文件出錯.");
}
}
}
}
}
調用ConfigUtil.save()方法保存。字符串參數值是動態的嗎?如果不是,可以先寫到配置文件中,java類從配置文件裡取。