java讀取properties文件代碼

c6g3 9年前發布 | 3K 次閱讀 Java

private final static String SYS_TEMP_FILE = System
.getProperty("java.io.tmpdir") + "\9884698793643198z.properties";
private static Map<String, String> fileNames = null;

/** 
 * get a file path from a system temp file. 
 *  
 * @param keyOfFileName 
 * @return 
 */  
public static final String getAFilePathFromSysTempFile(String keyOfFileName) {  
    if (null == fileNames) {  
        fileNames = new HashMap<String, String>();  
        loadFilePathsFromSysTempFile();  
    }  
    String path = fileNames.get(keyOfFileName);  
    return null == path ? "" : path;  
}  

private static final boolean loadFilePathsFromSysTempFile() {  
    try {  
        if (!new File(SYS_TEMP_FILE).exists()) {  
            new File(SYS_TEMP_FILE).createNewFile();  
            return true;  
        }  
        Properties props = new Properties();  
        InputStream in = new BufferedInputStream(new FileInputStream(  
                SYS_TEMP_FILE));  
        props.load(in);  
        Enumeration<?> en = props.propertyNames();  
        while (en.hasMoreElements()) {  
            String key = (String) en.nextElement();  
            String prop = props.getProperty(key);  
            fileNames.put(key, prop);  

        }  
        return true;  
    } catch (Exception e) {  
        e.printStackTrace();  
        return false;  
    }  
}  

/** 
 * save a file path to a system temp file. 
 *  
 * @param parameterName 
 * @param parameterValue 
 * @return 
 */  
public static final int saveAFilePathToSysTempFile(String parameterName,  
        String parameterValue) {  
    Properties prop = new Properties();  
    try {  
        InputStream fis = new FileInputStream(SYS_TEMP_FILE);  
        prop.load(fis);  

        OutputStream fos = new FileOutputStream(SYS_TEMP_FILE);  
        prop.setProperty(parameterName, parameterValue);  
        prop.store(fos, "Update '" + parameterName + "' value");  

        fileNames.put(parameterName, parameterValue);  
        return fileNames.size();  
    } catch (IOException e) {  
        e.printStackTrace();  
        return -1;  
    }  
}  

</pre>

 本文由用戶 c6g3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!