Java从resources文件夹读取配置文件

列举了2种方式,第一种是绝对路径,就是写死路径,不推荐

第二种是相对路径,使用到了ClassLoader

package com.StadyJava.day22;

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

public class LoadResourceDemo {
    public static void main(String[] args) throws Exception{
        test2();
    }
    //方式1,写死路径。这种方式可以读取文件的内容。但是不要使用这种方法,没有路径是写死的
    public static void test1() throws Exception{
        Properties p=new Properties();
        InputStream inStream=new FileInputStream("F:\Study Java\ch1helloworld\src\main\resources\properties");
        p.load(inStream);
        System.out.println(p);
    }
    //方式2,采用相对路径。相对于Classpath的根路径。ClassLoader就是src文件夹下,resources文件夹一般放资源文件,比如配置文件
    public static void test2() throws Exception{
        Properties p=new Properties();
        //ClassLoader loader=LoadResourceDemo.class.getClassLoader();这种方式也可以获取ClassLoader,但是写出了类名,不推荐
        ClassLoader loader=Thread.currentThread().getContextClassLoader();
        InputStream inStream=loader.getResourceAsStream("properties");
        p.load(inStream);
        System.out.println(p);
    }




}

原文地址:https://www.cnblogs.com/yunquan/p/9962949.html