java-工具類-讀取配置文件


 

 java讀取配置文件,當發現文件被修改后則重新加載

 

package com.zg.config;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Properties;

/**
 * 系統配置文件讀取
 * @author huage
 *
 */
public class SysConfig {
    private static Properties props = null;    
    private static File configFile = null; 
    private static long fileLastModified = 0L; 
    
    private static String configFileName = "properties/sys/system.properties";
    
    private static void init() { 
        URL url = SysConfig.class.getClassLoader().getResource(configFileName); 
        

        configFile = new File(url.getFile()); 
        fileLastModified = configFile.lastModified();      
        props = new Properties(); 
        load(); 
    } 
    
    private static void load() { 
        try { 
            props.load(new InputStreamReader(new FileInputStream(configFile),"UTF-8")); 
            fileLastModified = configFile.lastModified(); 
        } catch (IOException e) {            
            throw new RuntimeException(e); 
        } 
    } 

    public static String getConfig(String key) { 
        if ((configFile == null) || (props == null)) init(); 
        if (configFile.lastModified() > fileLastModified) load(); //當檢測到文件被修改時重新加載配置文件
        return props.getProperty(key); 
    } 
    
    public static void main(String[] args){
        System.out.println(getConfig("sys.index.name")); 
    }}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM