zoukankan      html  css  js  c++  java
  • java读取存在src目录下和存在同级目录下的配置文件

    如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取如图:

     

    一、如果存在src同级的地方应该是InputStream in = new BufferedInputStream(new FileInputStream("./set.properties"));就可以了。

    代码如下:

    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.util.Iterator;
    import java.util.Properties;

    public class PropertiesUtil {
    public static String getUrlValue(String urlName) {
            String url = null;
            Properties prop = new Properties();
            try {
            //ConfigUtil.class.getClassLoader().getSystemClassLoader().getResource(""));
                ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
                //InputStream in = classLoader.getResourceAsStream("config/config.properties");
                InputStream in = new BufferedInputStream(new FileInputStream("./set.properties"));
                prop.load(in); /// 加载属性列表
                Iterator<String> it = prop.stringPropertyNames().iterator();
                while (it.hasNext()) {
                    if (it.next().equals(urlName)) {
                        url = prop.getProperty(urlName);
                    }
                }
                in.close();
            } catch (Exception e) {
                
            }
            return url;
        }
    }
    配置文件如:

    测试:

    import cn.deos.util.PropertiesUtil;
    public class test {
    public static void main(String []args){

    String urlValue = PropertiesUtil.getUrlValue("defaultFileDirectory");
    System.out.println("urlValue=="+urlValue);
    }
    }
    二 、如果存在src下一级的地方应该是ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
                //InputStream in = classLoader.getResourceAsStream("set.properties");就可以了。

    代码如下:

    import java.io.InputStream;
    import java.util.Iterator;
    import java.util.Properties;
    public class PropertiesUtil {
    public static String getUrlValue(String urlName) {
            String url = null;
            Properties prop = new Properties();
            try {
                ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
                InputStream in = classLoader.getResourceAsStream("config/config.properties");
                //InputStream in = new BufferedInputStream(new FileInputStream("set.properties"));
                prop.load(in); /// 加载属性列表
                Iterator<String> it = prop.stringPropertyNames().iterator();
                while (it.hasNext()) {
                    if (it.next().equals(urlName)) {
                        url = prop.getProperty(urlName);
                    }
                }
                in.close();
            } catch (Exception e) {
                
            }
            return url;
        }

    }
    测试如下:

    import cn.deos.util.PropertiesUtil;
    public class test {
    public static void main(String []args){

    String urlValue = PropertiesUtil.getUrlValue("defaultFileDirectory");
    System.out.println("urlValue=="+urlValue);
    }
    }
     

  • 相关阅读:
    数据库-数据约束
    数据库-表2
    数据库-表
    MySQL入门
    记一次stm8l程序跑飞
    nRF24L01P的ShockBurst与Enhance ShockBurst
    电路板工艺中的NPTH和PTH
    nRF24L01P数据传输速率
    STM32F030-UART1_DMA使用提示
    Altium Designer 复制报错-奇怪的问题解决办法
  • 原文地址:https://www.cnblogs.com/xiaoma000deblog/p/10290707.html
Copyright © 2011-2022 走看看