读取properties属性文件

折月煮酒 提交于 2020-01-01 11:33:17

1、通过类加载器加载

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("Chapter8/test.properties"); 
Properties p = new Properties();  
p.load(inputStream );

2、通过文件系统加载

InputStream inputStream = new FileInputStream("Chapter8/test.properties"); 

以下是获取当前工程路径的方法:

注意:

Class.getResource(String path) 

path不以’/'开头时,默认是从此类所在的包下取资源; 

path以’/'开头时,则是从ClassPath根下获取;

Class.getClassLoader().getResource(String path)

path不能以’/'开头时;

path是从ClassPath根下获取;

public static void main(String[] args) {
    // TODO Auto-generated method stub
        String[] path = new String[5];
        path[0] = Thread.currentThread().getContextClassLoader()
                .getResource("Chapter8/test.properties").getPath();
        path[1] = this.getClass().getClassLoader()
                .getResource("Chapter8/test.properties").getPath();
        path[2] = this.getClass().getResource("/Chapter8/test.properties")
                .getPath();
        path[3] = this.getClass().getResource("test.properties")
                .getPath();
        path[4] = ClassLoader.getSystemResource("Chapter8/test.properties")
                .getPath();
        for (int i = 0; i < path.length; i++) {
            System.out.println(path[i]);
        }
}

得到的文件路径是:

/D:/Program/Java/NecessaryLearning/bin/Chapter8/test.properties
/D:/Program/Java/NecessaryLearning/bin/Chapter8/test.properties
/D:/Program/Java/NecessaryLearning/bin/Chapter8/test.properties
/D:/Program/Java/NecessaryLearning/bin/Chapter8/test.properties
/D:/Program/Java/NecessaryLearning/bin/Chapter8/test.properties

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!