【前言】
在开发时候经常遇到的,那就是如何找到资源,如何定位资源?
通常项目里面的资源,譬如图片,会放在一般目录下面还有放在jar文件,两种放置方式的获取方法不一致。这两种获取路径方式--我个人的方式是以一个类作为基准,获取路径,
下面就是一个工具类了。
public class ClassHelper {
/**
* 根据某个类获取该类的路径,假如这个类已经被打包成为jar,那么将返回null,可以使用getJarPath来确定jar的路径。
* */
public static String getClassPath(Class clazz){
try{
return clazz.getClass().getResource("").toURI().getPath();
}catch (Exception e){
return null;
}
}
/**
* 根据某个被打包成为jar的类来获得jar的路径。
* @param clazz 作为基准的在jar里面的类。
* @param Encoding 路径字符串解码的编码,如:utf-8.
* */
public static String getJarPath(Class clazz,String Encoding){
try{
return URLDecoder.decode(clazz.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(), Encoding);
}
catch (Exception e){
return null;
}
}
public static String getJarPath(Class clazz){
return getJarPath(clazz,"utf-8");
}
}