java 读取外部和source下配置文件

import java.io.File;
import java.io.FileInputStream;
import java.net.URL;
import java.util.Map;

import org.bouncycastle.crypto.RuntimeCryptoException;
import org.yaml.snakeyaml.Yaml;




public class DbpTestConfig {
    private static String dbpIP;
    
    private static String dbpPort;
    
    private static String testServerIP;
    
    private static String testServerPort;
   
    static{
        Yaml yaml = new Yaml();
        try {
        //读取当前项目同级目录下的配置文件,jar包形式 File dumpFile
=new File(System.getProperty("user.dir") + "/application.yml"); if(!dumpFile.exists()){
          //读取source目录下配置文件 URL url
= DbpTestConfig.class.getClassLoader().getResource("application.yml"); if(url==null){ throw new RuntimeException("not found application.yml"); } dumpFile=new File(url.getPath()); } Map map =(Map)yaml.load(new FileInputStream(dumpFile)); Map<String,String> paramMap =(Map) map.get("dbptest"); if(paramMap==null){ throw new RuntimeException("not found parameter dbptest"); } dbpIP=paramMap.get("dbpIP"); dbpPort=String.valueOf(paramMap.get("dbpPort")); testServerIP=paramMap.get("testServerIP"); testServerPort=String.valueOf(paramMap.get("testServerPort")); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } public static String getDbpIP() { return dbpIP; } public static String getDbpPort() { return dbpPort; } public static String getTestServerIP() { return testServerIP; } public static String getTestServerPort() { return testServerPort; } }

 

posted on 2018-07-16 20:50  知了不了了之  阅读(2579)  评论(0编辑  收藏  举报