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);
    }
    }
     

  • 相关阅读:
    用户空间与内核空间,进程上下文与中断上下文[总结]【转】
    select、poll、epoll之间的区别总结[整理]【转】
    v4l2驱动文档之——streaming IO【转】
    Linux网络编程一步一步学【转】
    V4L2驱动的移植与应用(二+三)【转】
    【PHP面向对象(OOP)编程入门教程】20.PHP5接口技术(interface)
    【PHP面向对象(OOP)编程入门教程】19.抽象方法和抽象类(abstract)
    【PHP面向对象(OOP)编程入门教程】18.__call()处理调用错误
    【PHP面向对象(OOP)编程入门教程】17.克隆对象__clone()方法
    【PHP面向对象(OOP)编程入门教程】16.__toString()方法
  • 原文地址:https://www.cnblogs.com/xiaoma000deblog/p/10290707.html
Copyright © 2011-2022 走看看