java中yml文件以及私鑰文件讀取


在springboot項目中,會在yml文件中配置一些配置文件,需要涉及到讀取,這里簡要介紹:直接上代碼

package com.zl.unit.printunit;


import org.yaml.snakeyaml.Yaml;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * Yml文件讀取
 *
 * @author zhanglei
 * @ProjectName: MapDemo
 * @create 2019-06-06 9:42
 * @Version: 1.0
 * <p>Copyright: Copyright (zl) 2019</p>
 **/
public class YmlUtil {
    private static Map<String,String> allMap=new HashMap<>();
    static {
        Yaml yaml = new Yaml();
        InputStream inputStream = YmlUtil.class.getResourceAsStream("/application.yml");
        Iterator<Object> result = yaml.loadAll(inputStream).iterator();
        while(result.hasNext()){
            Map map=(Map)result.next();
            iteratorYml( map,null);
        }
    }
    public static void iteratorYml(Map map,String key){
        Iterator iterator = map.entrySet().iterator();
        while(iterator.hasNext()){
            Map.Entry entry = (Map.Entry) iterator.next();
            Object key2 = entry.getKey();
            Object value = entry.getValue();
            if(value instanceof LinkedHashMap){
                if(key==null){
                    iteratorYml((Map)value,key2.toString());
                }else{
                    iteratorYml((Map)value,key+"."+key2.toString());
                }
            }
            if(key==null){
                allMap.put(key2.toString(), StringUtil.objToString(value));
            }
            if(key!=null){
                allMap.put(key+"."+key2.toString(), StringUtil.objToString(value));
            }
        }

    }

    public static String getYmlValue(String key){
        return allMap.get(key);
    }
}

給出yml文件位置,讀取yml文件中的內容,將讀取到的內容通過key value形式存放到map中

 

2. 讀取私鑰文件

 在resource目錄下新增私鑰文件目錄以及私鑰文件,如下如所示:

    

操作代碼如下:

package com.zl.unit.printunit;

import org.springframework.util.ResourceUtils;
import org.apache.commons.io.FileUtils;
import java.io.File;

/**
 * 文件工具讀取類
 *
 * @author zhanglei
 * @ProjectName: MapDemo
 * @create 2019-06-06 9:41
 * @Version: 1.0
 * <p>Copyright: Copyright (zl) 2019</p>
 **/
public class ReadKeysUtil {

    public static final  String CONFIG_PATH_PREFIX = YmlUtil.getYmlValue("zl.key.path");
    public static String PRIVATE_KEY = "";
  static {
  try {
  File privateKey = ResourceUtils.getFile(CONFIG_PATH_PREFIX + "private_key");
  PRIVATE_KEY = FileUtils.readFileToString(privateKey);
    } catch (Exception e) {
    System.out.println("資源讀取錯誤");
       }
       }
     }

 


免責聲明!

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



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