| | |
| | | import org.apache.commons.codec.digest.DigestUtils; |
| | | import org.apache.commons.logging.Log; |
| | | import org.apache.commons.logging.LogFactory; |
| | | import org.springframework.context.support.ClassPathXmlApplicationContext; |
| | | |
| | | import java.io.*; |
| | | import java.net.URL; |
| | | import java.net.URLDecoder; |
| | | import java.nio.ByteBuffer; |
| | | import java.nio.channels.FileChannel; |
| | | import java.nio.charset.StandardCharsets; |
| | |
| | | is.close(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 过滤输入字符串, 剔除多行注释以及替换掉反斜杠 |
| | | */ |
| | | public static String filter(String str) { |
| | | return str.replaceAll("/\\*[\\s\\S]*?\\*/", ""); |
| | | } |
| | | |
| | | /** |
| | | * 解码 |
| | | */ |
| | | public static String decode(String str) { |
| | | try { |
| | | return URLDecoder.decode(str, "UTF-8"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取ClassPath-jar |
| | | */ |
| | | public static String getClassPathForJar() { |
| | | URL resource = ClassLoader.getSystemResource(""); |
| | | if (null == resource) { |
| | | return null; |
| | | } |
| | | |
| | | return decode(filter(resource.getPath())); |
| | | } |
| | | |
| | | /** |
| | | * 获取ClassPath-war |
| | | */ |
| | | public static String getClassPathForWar() throws IOException { |
| | | ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(); |
| | | |
| | | return context.getResource("").getFile().getAbsolutePath(); |
| | | } |
| | | } |