国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java 如何讀取properties文件

瀏覽:54日期:2022-08-21 15:02:06

1.情景展示

java 如何讀取properties文件

將要訪問的接口地址等常用的配置添加到properties文件中,比直接寫到java類中的好處在于:

當我們需要修改相應配置時,直接修改properties文件,重啟tomcat即可,避免了重新編譯引用該配置的java文件,同時,也便于項目的維護。

方式一

通過spring的工具類PropertiesLoaderUtils來實現對properties文件的解析

所需jar包:spring的核心jar包,spring-core-版本號.jar

import java.io.IOException;import java.util.HashMap;import java.util.Map;import java.util.Properties;import org.springframework.core.io.support.PropertiesLoaderUtils;/** * 借助spring讀取Properties文件 * @explain Spring 提供的 PropertiesLoaderUtils * 允許您直接通過基于類路徑的文件地址加載屬性資源 最大的好處就是:實時加載配置文件,修改后立即生效,不必重啟 * @author Marydon * @creationTime 2018年5月23日上午9:58:59 * @version 1.0 * @since * @email marydon20170307@163.com */public class PropertiesUtils { /** * 讀取properties文件 * @param fileName properties文件名及所在路徑 * @explain 參數說明 * 1.傳遞的參數不是properties類型文件,不會報錯,返回的是空Map; * 2.傳遞的參數是根本不存在的properties文件,也不會報錯,返回的是空Map; * 3.傳遞的參數可以帶路徑,可以正常解析到 * @return */ public static Map<String, String> readProperties(String fileName) { Map<String, String> resultMap = new HashMap<String, String>(); try { Properties props = PropertiesLoaderUtils.loadAllProperties(fileName); for (Object key : props.keySet()) {resultMap.put(key.toString(), props.get(key).toString()); } } catch (IOException e) { e.printStackTrace(); } return resultMap; } /** * @param args */ public static void main(String[] args) {// Map map = readProperties('base/web/imageInfo/fileRootDirectories.properties'); Map map = readProperties('fileRootDirectories.properties'); for (Object key : map.keySet()) { System.out.println(key.toString() + '=' + map.get(key).toString()); } // 打印結果 // fileRootPath=uploadFiles }}

這種方式的缺點在于:

每次調用都要重新解析對應的properties文件,所以,我們可以在項目啟動的時候,就把該文件加載到內存中(一次加載解析,永久使用)。

方式二

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/** * properties文件工具類 * @description * 在該類被加載的時候,它就會自動讀取指定位置的配置文件內容并保存到靜態屬性中,高效且方便,一次加載,可多次使用 * @author: Marydon * @date: 2020年07月13日 0013 16:04 */public class PropertyUtils_old { private static Logger logger = LoggerFactory.getLogger(PropertyUtils_old.class); // 待解析的properties文件名稱 private static final String FILE_NAME = 'bill.properties'; // 用于接收解析過properties文件 private static Properties props; // 靜態代碼塊:在該類被加載到內容中時,該代碼塊會執行 static { // 靜態代碼塊執行時將要執行的方法 loadPropertiesFile(); } synchronized static private void loadPropertiesFile() { logger.debug('開始加載properties文件內容.......'); props = new Properties(); InputStream in = null; try { // 方式一:通過類加載器進行獲取properties文件流(不用添加路徑) in = PropertyUtils_old.class.getClassLoader().getResourceAsStream(FILE_NAME); // 方式二:通過類進行獲取properties文件流(需要加/) // in = PropertyUtils.class.getResourceAsStream('/bill.properties'); props.load(in); } catch (NullPointerException e) { logger.error('bill.properties文件未找到!'); } catch (IOException e) { logger.error('出現IOException!'); } finally { try { if (null != in) { in.close(); } } catch (IOException e) { logger.error('bill.properties文件流關閉出現異常'); } } logger.info('加載properties文件內容完成...........'); logger.info('properties文件內容:' + props); } /* * 獲取properties文件中指定key的value * @date: 2020年07月13日 0013 16:17 * @param: key * @return: java.lang.String */ public static String getProperty(String key) { if (null == props) { loadPropertiesFile(); } return props.getProperty(key); } /* * 獲取properties文件中指定key的value * @date: 2020年07月13日 0013 16:17 * @param: key * @param: defaultValue * @return: java.lang.String */ public static String getProperty(String key, String defaultValue) { if (null == props) { loadPropertiesFile(); } return props.getProperty(key, defaultValue); }}

測試

public static void main(String[] args) { System.out.println(getProperty('bill.czInterfaceAddress'));}

java 如何讀取properties文件

方式一也可以按照方式二的形式,來達到一次加載,永久使用的效果。

以上就是java 如何讀取properties文件的詳細內容,更多關于java 讀取properties文件的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲欧洲久久久精品 | 免费人欧美成又黄又爽的视频 | 亚洲日本久久一区二区va | 久久精品视频8 | 99精品久久久久久久免费看蜜月 | 国产在线精品一区二区三区 | 亚洲毛片免费观看 | 亚洲an日韩专区在线 | 亚洲三级精品 | 性刺激久久久久久久久 | 欧美日韩一区二区三区在线播放 | 亚洲欧美日韩成人一区在线 | 成人欧美一区二区三区在线 | 日产一区两区三区四区 | 亚洲天堂毛片 | 亚洲成人在线免费视频 | 亚洲精品视频免费在线观看 | 久久精品亚洲精品国产欧美 | 婷婷的久久五月综合先锋影音 | 中文字幕精品视频 | 在线视频久 | chinese宾馆自拍hd | 免费欧洲毛片a级视频无风险 | 久久精品大片 | 亚洲怡红院在线 | 很黄很色的摸下面的视频 | 国产成人a在一区线观看高清 | 久草免费色站 | 中文字幕乱码中文乱码综合 | 日韩精品一区二区三区毛片 | 色噜噜亚洲男人的天堂 | 456亚洲视频 | 六月丁香婷婷色狠狠久久 | 久草资源在线观看 | 日本亚洲国产 | 九九在线精品视频xxx | 免费v片在线看 | 亚洲欧美综合国产精品一区 | 特级黄色毛片在放 | 成年网站免费 | 热热涩热热狠狠色香蕉综合 |