JAR两种资源读取方式

    这个是前一段时间写一个考核工具和eclipse插件用到的东西,插件里面用到的资源读取方法是借用webwork的东西,考核工具里面用的是可运行jar读取文件路径的常用方法,下面就直接贴关键代码了。

    第一种方式:资源文件在JAR包中(webwork中的方式)

       

           

/**
	 * 
	 * Description:读取jar包中的资源URL
	 * @author: caoshuaibiao
	 * @Date:  2010-7-28 下午08:29:18
	 * @param callingClass
	 * @param resourceName
	 * @return 资源url路径
	 *
	 */
	private static URL getResource(Class callingClass, String resourceName) {
		URL url = Thread.currentThread().getContextClassLoader().getResource(resourceName);

		if (url == null) {
			url = MainTest.class.getClassLoader().getResource(resourceName);
		}

		if (url == null) {
			ClassLoader cl = callingClass.getClassLoader();

			if (cl != null) {
				url = cl.getResource(resourceName);
			}
		}

		if ((url == null) && (resourceName != null)
				&& ((resourceName.length() == 0) || (resourceName.charAt(0) != '/'))) {
			return getResource(callingClass, '/' + resourceName);
		}

		return url;
	}
假设资源文件在jar包的resources目录下,读取文件的示例代码如下

  

URL url = getResource(MainTest.class, "/resources/ type .xml");
InputStreamReader in=new InputStreamReader(url.openStream())

   第二种,资源文件在可运行JAR相对文件夹中

   

//当前JAR所在文件夹路径
String path= URLDecoder.decode(KPI.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8");

//获取相对jar位置文件夹下的文件路径
String fp=KPI.getMp()+"target/summary/test.xml";

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值