博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置相关的一些辅助类
阅读量:6567 次
发布时间:2019-06-24

本文共 1694 字,大约阅读时间需要 5 分钟。

package com.opslab.util;

import org.apache.log4j.Logger;

import java.io.File;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.List;
import java.util.Properties;

/**

* 配置相关的一些辅助类
*/
public class ConfigUtil {

private static Logger logger = Logger.getLogger(ConfigUtil.class);

/**

* 获取配置文件资源
*
* @return
*/
public static URL findAsResource(final String path) {
URL url = null;

ClassLoader contextClassLoader = ClassUtil.getContextClassLoader();

if (contextClassLoader != null) {
url = contextClassLoader.getResource(path);
}
if (url != null)
return url;

url = ConfigUtil.class.getClassLoader().getResource(path);

if (url != null)
return url;

url = ClassLoader.getSystemClassLoader().getResource(path);

return url;

}

/**

* @param path
* @return
*/
public static String resourcePath(final String path) {
URL asResource = findAsResource(path);
return new File(asResource.getFile()).getPath();
}

private static InputStream getConfigStream(final String path) throws RuntimeException {
try {
URL url = new URL(path);
return url.openStream();
} catch (IOException e) {
throw new RuntimeException("Unable to open config file: " + path);
}
}

/**

* 获取资源流
*
* @param path
* @return
* @throws IOException
*/
private static InputStream resourceStream(final String path) throws IOException {
URL asResource = findAsResource(path);
return asResource.openStream();
}

/**

* 获取资源属性
*
* @param path
* @return
* @throws IOException
*/
public static Properties getConfigProperties(String path) throws IOException {
Properties properties = new Properties();
properties.load(resourceStream(path));
return properties;
}

}

转载于:https://www.cnblogs.com/chinaifae/p/10254813.html

你可能感兴趣的文章
共用y轴的双图形绘制
查看>>
第31讲 | 数字货币钱包服务
查看>>
P2073 送花
查看>>
iOS端项目注释规范附统一代码块
查看>>
HTTP深入浅出 http请求
查看>>
为YUM设置代理的方法
查看>>
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
业务对象和BAPI
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
程序中的魔鬼数字
查看>>
session cookie
查看>>
$.extend({},defaults, options) --(初体验三)
查看>>
android 一步一步教你集成tinker(热修复)
查看>>
到底有多少内存
查看>>
centos7.3 安装ovirt-engine4.0 版本
查看>>