获取classpath里文件的URL

通常,我们在项目中,要获得一个文件的url,可以通过如下2种方式,

 

1. 将文件放在classpath下,用如下code,

 

URL url = this.getClass().getClassLoader().getResource(filePath);

 这样,只要filePath是在项目的classpath中,就可以拿到它的url,然后处理它。

 

2. 将文件放在和处理文件类同级的路径中,用如下code,

 

URL url = this.getClass().getResource(filepath);

 这时,filepath必须是和该class是同一个package里。

 

 

但是,还有一个情况,就是这个获得文件url的class最终是要打成一个jar包来给别人使用,比如你写的是一个组件,别人可以使用这个组件,该组件需要读取一些配置文件,是在别人的客户端里要配置进去的,那按照上面的写法是会有问题的,可以采用如下的方式,

 

URL url = Thread.currentThread().getClass().getResource(filePath);
 

你可能感兴趣的:(classpath)