1. 程式人生 > >java 讀取配置文件 與更新

java 讀取配置文件 與更新

sys static tput dev ade 錯誤 適合 etc 更新

筆記

public class Config {
    
     private static Properties props = new Properties();
     static File configFile = null;
        static {
            InputStreamReader reader = null;
            try {
                File dir = new File(System.getProperty("user.dir"));
                configFile 
= new File(dir, "config.properties.dev"); if (!configFile.exists()) { // String path = Thread.currentThread().getClass().getClassLoader().getResource("config.properties").getPath(); // configFile = new File(path); configFile = new
File(dir, "config.properties"); } reader = new InputStreamReader(new FileInputStream(configFile), "UTF-8"); props.load(reader); } catch (FileNotFoundException e) { } catch (Exception e) { } finally {
if (reader != null) { try { reader.close(); } catch (IOException e) { } } } } public static String getDsl(){ System.out.println("dsl" + props.getProperty("dsl")); return props.getProperty("dsl"); } public static String getDate(){ System.out.println("date" + props.getProperty("date")); return props.getProperty("date"); } public static void updateProperties(String keyname,String keyvalue) { try { props.load(new FileInputStream(configFile)); // 調用 Hashtable 的方法 put,使用 getProperty 方法提供並行性。 // 強制要求為屬性的鍵和值使用字符串。返回值是 Hashtable 調用 put 的結果。 props.setProperty(keyname, keyvalue); OutputStream fos = new FileOutputStream(configFile); // 以適合使用 load 方法加載到 Properties 表中的格式, // 將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流 props.store(fos, "Update ‘" + keyname + "‘ value"); } catch (IOException e) { System.err.println("屬性文件更新錯誤"); } } }

java 讀取配置文件 與更新