【java辅助类】如何获取普通类或者jar的路径?

来源:互联网 发布:思维导图软件 mac 编辑:程序博客网 时间:2024/06/05 05:34

【前言】


在开发时候经常遇到的,那就是如何找到资源,如何定位资源?

通常项目里面的资源,譬如图片,会放在一般目录下面还有放在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");    }}


原创粉丝点击