问题描述:
使用clazz.getResource("").getPath()获取luji路径时,会将路径中的kong空格转为%20,有些情况下需要处理
代码案例:
package com.common;
public class ClassUtil {
private ClassUtil() {}
public static String getClassPath(Class<?> c) {
// 据说windows下会将空格转为%20,注意,需要转换,windows已确认,linux已确认,也会转为%20
return c.getResource("").getPath().replaceAll("%20", " ");
}
public static String getClassRootPath(Class<?> c) {
// 据说windows下会将空格转为%20,注意,需要转换
return c.getResource("/").getPath().replaceAll("%20", " ");
}
/**
* 返回class文件所在的目录
* @param c 类
* @param hasName 是否包含类名
* @return
*/
public static String getClassPath(Class<?> c, boolean hasName) {
return hasName ? c.getResource(c.getSimpleName() + ".class").getPath().replaceAll("%20", "") :
c.getResource("").getPath().replaceAll("%20", "");
}
}