package com.dsideal.gw.Util; import cn.hutool.core.io.IoUtil; import org.apache.commons.codec.digest.DigestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.*; @SuppressWarnings("unchecked") public class CommonUtil { //在独立的main函数中,使用下面的方式进行声明logback对象 private static final Logger log = LoggerFactory.getLogger(CommonUtil.class); /** * 判断当前项目是否在jar包中 * * @return 是/否 */ public static boolean isRunInJar() { String resourcePath = "/" + CommonUtil.class.getPackageName().replace(".", "/"); URL url = CommonUtil.class.getResource(resourcePath); if (url.getProtocol().equals("jar")) { return true; } return false; } /** * 获取文本文件内容,兼容jar包与文件系统两种情况 * * @param path 文件路径 * @return 文件内容 * @throws IOException */ public static String txt2String(String path) { InputStream is = CommonUtil.class.getClassLoader().getResourceAsStream(path); return IoUtil.read(is, "UTF-8"); } /** * 加签 * * @param map * @return */ public static String Sign(Map map, String signKey) { if (map == null) { return null; } List keyList = new ArrayList<>(map.keySet()); Collections.sort(keyList); StringBuffer sb = new StringBuffer(); for (int i = 0; i < keyList.size(); i++) { String key = keyList.get(i); Object value = map.get(key); sb.append(key + "=" + value + "&"); } String signStr = sb.substring(0, sb.length() - 1) + signKey; String md5Str = DigestUtils.md5Hex(signStr); return md5Str; } }