关于Java中的*.properties的操作
2014-04-04 15:29
417 查看
只给出具体代码,觉得有用的可以参考一下
/**
* 流处理工具类
* @author Shmily
*/
public class StreamUtils {
private static Logger logger = Logger.getLogger(StreamUtils.class);
/**
* 将配置文件*。properties直接转换为Java对象
* @param proPath 配置文件路径
* @return java.util.Properties or null
*/
public static Properties loadProperty(String proPath){
Properties temp=new Properties();
InputStream in= StreamUtils.class.getResourceAsStream(proPath);
try {
temp.load(in);
in.close();
return temp;
} catch (Exception e) {
logger.warn("文件加载失败");
return null;
}
}
/**
* 修改属性文件的值
* @param proPath 属性文件的路径
* @param key
* @param value
* @return 是否修改成功
*/
public static boolean updateProperty(String proPath,String key,String value){
Properties temp=loadProperty(proPath);
if(temp!=null){
//修改值
temp.setProperty(key, value);
try {
File f=new File(String.class.getResource(proPath).toURI().getPath());
OutputStream out=new FileOutputStream(f);
//保存更新
temp.store(out, "update");
f=null;
out.flush();
out.close();
} catch (Exception e) {
logger.error("属性更新失败");
}
return true;
}else{
logger.error("文件加载失败");
return false;
}
}
/**
* 删除特定key
* @param proPath 属性文件的路径
* @param key
* @return 是否删除成功
*/
public static boolean updateProperty(String proPath,String key){
Properties temp=loadProperty(proPath);
if(temp!=null){
temp.remove(key);
try {
FileOutputStream out=new FileOutputStream(new File(String.class.getResource(proPath).toURI().getPath()));
//保存更新
temp.store(out, "update");
temp=null;
out.flush();
out.close();
} catch (Exception e) {
logger.error("属性更新失败");
}
return true;
}else{
logger.error("文件加载失败");
return false;
}
}
}
/**
* 流处理工具类
* @author Shmily
*/
public class StreamUtils {
private static Logger logger = Logger.getLogger(StreamUtils.class);
/**
* 将配置文件*。properties直接转换为Java对象
* @param proPath 配置文件路径
* @return java.util.Properties or null
*/
public static Properties loadProperty(String proPath){
Properties temp=new Properties();
InputStream in= StreamUtils.class.getResourceAsStream(proPath);
try {
temp.load(in);
in.close();
return temp;
} catch (Exception e) {
logger.warn("文件加载失败");
return null;
}
}
/**
* 修改属性文件的值
* @param proPath 属性文件的路径
* @param key
* @param value
* @return 是否修改成功
*/
public static boolean updateProperty(String proPath,String key,String value){
Properties temp=loadProperty(proPath);
if(temp!=null){
//修改值
temp.setProperty(key, value);
try {
File f=new File(String.class.getResource(proPath).toURI().getPath());
OutputStream out=new FileOutputStream(f);
//保存更新
temp.store(out, "update");
f=null;
out.flush();
out.close();
} catch (Exception e) {
logger.error("属性更新失败");
}
return true;
}else{
logger.error("文件加载失败");
return false;
}
}
/**
* 删除特定key
* @param proPath 属性文件的路径
* @param key
* @return 是否删除成功
*/
public static boolean updateProperty(String proPath,String key){
Properties temp=loadProperty(proPath);
if(temp!=null){
temp.remove(key);
try {
FileOutputStream out=new FileOutputStream(new File(String.class.getResource(proPath).toURI().getPath()));
//保存更新
temp.store(out, "update");
temp=null;
out.flush();
out.close();
} catch (Exception e) {
logger.error("属性更新失败");
}
return true;
}else{
logger.error("文件加载失败");
return false;
}
}
}
相关文章推荐
- Java Web开发 · 第二天
- java同步锁
- Java字节码运行浅析
- java发送短信测试例子,备着以后用
- Java开发者应该列入年度计划的5件事
- spring 嵌套事务
- Java多线程断点续传下载
- 接口参数中文乱码(MYSQL+STRUTS)
- 处理特殊log语句的java函数
- java 发送邮件测试例子
- 扩展SpringMVC以支持更精准的数据绑定1
- eclipse常用快捷键 --10大常用快捷键 可以提高不小的工作效率哦
- java static 与 线程 共用同步问题
- 工作的小经验之2:关于java和面向对象
- 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?
- Eclipse中web项目引用 其他项目
- 重装Eclipse、离线安装ADT、Android SDK
- JAVA中Final的用法
- Java开发者应该列入年度计划的5件事
- JAVA动态代理 和 Spring AOP 4种通知的简单实现