首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java Properties 属性资料读取写入工具类

2012-09-10 
Java Properties 属性文件读取写入工具类自己编写的一个简单工具类,方便操作属性文件构造方法必须传入属性

Java Properties 属性文件读取写入工具类
自己编写的一个简单工具类,方便操作属性文件

构造方法必须传入属性文件的位置,工具类会自动定位到项目的物理根目录到/Webroot后面需要传入路径,传入的路径记住以/开头。

##现在工具类未对太多的安全性验证。


package cn.net.withub.smsp.common.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.util.Properties;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import bsh.This;import cn.net.withub.lab.SMGPLab;/** * 配置文件读取和写入工具类 * @author Jacky.Jiang * */public class PropertiesHelper {private static Log logger = LogFactory.getLog(This.class); private String project_root = "";private File file = null;public PropertiesHelper(String filePath) {//构造时获取到项目的物理根目录project_root = this.getClass().getResource("/").toString().replace("file:/", "");project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));if(filePath != null && filePath.length() > 0){try {file = new File(project_root+filePath);} catch (Exception e) {logger.error(e);}}}public String getProperties(String key){InputStream fis = null;try {Properties prop = new Properties();fis = new FileInputStream(getAbsolutePath());prop.load(fis);return prop.getProperty(key);} catch (Exception e) {logger.error(e);}finally{try{if(fis != null){fis.close();}}catch(Exception e){}}return "";}public void setProperties(String key,String value)throws Exception{Properties prop = new Properties();FileOutputStream outputFile = null;InputStream fis = null;try {//输入流和输出流要分开处理, 放一起会造成写入时覆盖以前的属性fis = new FileInputStream(getAbsolutePath());//先载入已经有的属性文件prop.load(fis);//追加新的属性prop.setProperty(key, value);//写入属性outputFile = new FileOutputStream(getAbsolutePath()); prop.store(outputFile, "");outputFile.flush();} catch (Exception e) {logger.error(e);throw e;}finally{try{if(fis != null){fis.close();}}catch(Exception e){}try{if(outputFile != null){outputFile.close();}}catch(Exception e){}}}public String getAbsolutePath(){try {return file.getAbsolutePath();} catch (Exception e) {logger.error(e);}return "";}}

热点排行