Maven打包jar后文件读取资源文件

1. 读取jar包外面的文件

在同一个文件夹(比如target)有conf文件夹,和test-0.1.jar文件。

prop1.properties 放在conf里面,test-0.1.jar读取prop1.properties 的pro1.value的值

    public static void fun1() throws IOException{
    	String str1 = new Dog().getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
    	//   /H:/Users/OTC/workspace/testLog4j/target/testLog4j-0.1.jar
    	System.out.println(str1);
    	String str2 = new File(str1).getParent() + "/conf/prop1.properties";
    	//   H:\Users\OTC\workspace\testLog4j\target/conf/prop1.properties
    	System.out.println(str2);
		InputStream in = new BufferedInputStream(new FileInputStream(str2));
		Properties p = new Properties();
        p.load(in);
        //    I am 1, outside jar
        System.out.println(p.getProperty("pro1.value"));
    }



2. 读取jar包里面的文件

prop2.properties放在jar包里面根目录下面

    public static void fun2() throws IOException{
    	//  path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从
    	InputStream in = new Dog().getClass().getResourceAsStream("/prop2.properties");
		Properties p = new Properties();
        p.load(in);
        //   I am 2, inside jar
        System.out.println(p.getProperty("pro2.value"));
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值