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