java运行时获取java类所在目录的properties文件


public final class Config
{

private static String fileSeparator = System.getProperty("file.separator");
static
{
try
{
InputStream in = null;
String currentJarPath = URLDecoder.decode(Config.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8"); //获取当前Jar文件名
String path = Config.class.getResource("").getPath();
if(path.indexOf("!")!=-1)
{//在jar中
JarFile currentJar = new JarFile(currentJarPath);
JarEntry dbEntry = currentJar.getJarEntry("conf/server.properties");
if(dbEntry != null)
in = currentJar.getInputStream(dbEntry);
}
if(in == null)
{
//String loaderPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
String loaderPath = currentJarPath;
String packPath = Config.class.getPackage().toString();
packPath = packPath.replace("package ", "");
packPath = "/" + packPath.replace(".", "/");
if(!loaderPath.endsWith("/"))
loaderPath = loaderPath.substring(0, loaderPath.lastIndexOf("/")) + fileSeparator;
loaderPath = loaderPath.replace(packPath, "");
String tPath = loaderPath+"conf"+fileSeparator+"server.properties";
logger.info("Config class load server.properties, the path =" + tPath);
in =new FileInputStream(tPath);
}
Properties prop = new Properties();
prop.load(in);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值