javaEE程序中读取properties文件

1.在程序中一般把读取配置文件的累写为一个工具类,供复用

package com.sinohonour.ciprobe.dp.utils;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class PropUtil {
	/**
	* @author Liliang Zuo
	* @date : 2017年10月16日 上午10:07:11
	*/
	private static Properties prop = null;
	private PropUtil() {}
	static{
		try {
			prop = new Properties();
			prop.load(new FileInputStream(PropUtil.class.getClassLoader().getResource("processor.properties").getPath()));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 获取properties对象
	 * 
	 * @author Liliang Zuo
	 * @data 2017年10月16日
	 * @return 返回properties对象
	 */
	public static Properties getProperty(){
		return prop;
	}
	/**
	 * 获取properties对象中key对应的value值
	 * 
	 * @author Liliang Zuo
	 * @data 2017年10月16日
	 * @param str 传入的key
	 * @return 返回key对应的value
	 */
	public static String getProperty(String str){
		return prop.getProperty(str);
	}
}

2.如上工具类中使用的读取properties文件的方法,如果你只本工程中使用,可以找到配置文件(配置文件放在src目录下,如下图),但是如果打包给别的程序使用,会找不到你的配置文件;



3.要想打包后给别的程序使用,你需要根据下图编写读取配置文件代码:

InputStream in = getClass().getResourceAsStream('/'+"spring-beans.dtd"); 表示从classs目录下面的找文件,文件放在src下面就可以了.

InputStream in = getClass().getResourceAsStream("spring-beans.dtd"); 表示从当前classs下面的路径找文件

如果是在com.a.b.c.d.Test这个class就表示spring-beans.dtd要放在目录src\com\a\b\c\d下.

Properties prop = new Properties();
prop.load(this.getClass().getResourceAsStream("/db.properties"));
prop.getProperty("nThreads")



























发布了165 篇原创文章 · 获赞 24 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览