java读取properties文件代码详解编程语言

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;   
        }   
    }   

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/10233.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论