java读写属性配置文件

来源:互联网 发布:亚马逊数据分析网站 编辑:程序博客网 时间:2024/05/21 10:18
import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Properties;public class PropertyHelper {    //属性文件的路径    static String profilepath="config.properties";    static String Object = "object";    private static Properties props = new Properties();    private static Properties proNum = new Properties();    static {    File file=new File("profilepath");    if(!file.exists()){    try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}    }        try {            props.load(new FileInputStream(profilepath));        } catch (FileNotFoundException e) {            e.printStackTrace();            System.exit(-1);        } catch (IOException e) {                    System.exit(-1);        }    }    /**    * 读取属性文件中相应键的值    * @param key    *            主键    * @return String    */    public static String getKeyValue(String key) {        return props.getProperty(key);    }    /**    * 根据主键key读取主键的值value    * @param filePath 属性文件路径    * @param key 键名    */     public static String readValue(String filePath, String key) {        Properties props = new Properties();        try {            InputStream in = new BufferedInputStream(new FileInputStream(                    filePath));            props.load(in);            String value = props.getProperty(key);            return value;        } catch (Exception e) {            e.printStackTrace();            return null;        }    }    /**    * 更新(或插入)一对properties信息(主键及其键值)    * 如果该主键已经存在,更新该主键的值;    * 如果该主键不存在,则插件一对键值。    */     public static void writeProperties(String keyname,String keyvalue) {          try {            OutputStream fos = new FileOutputStream(profilepath);            props.setProperty(keyname, keyvalue);            props.store(fos, "Update '" + keyname + "' value");        } catch (IOException e) {            System.err.println("属性文件更新错误");        }    }    /**    * 更新properties文件的键值对    * 如果该主键已经存在,更新该主键的值;    * 如果该主键不存在,则插件一对键值。    */     public static void updateProperties(String keyname,String keyvalue) {        try {            props.load(new FileInputStream(profilepath));            OutputStream fos = new FileOutputStream(profilepath);                        props.setProperty(keyname, keyvalue);            props.store(fos, "Update '" + keyname + "' value");        } catch (IOException e) {            System.err.println("属性文件更新错误");        }    }}

原创粉丝点击