java工具类Hutool
官方在线文档::Hutool参考文档
maven项目引入:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.39</version>
</dependency>
官方功能说明:
常用功能:
// 字符串
StrUtil.isBlank(str); // 判空
StrUtil.format("Hello {}", "Hutool"); // 占位符拼接// 日期
Date now = DateUtil.date();
String dayStr = DateUtil.format(now, "yyyy-MM-dd");
Date newDay = DateUtil.offsetDay(now, 2);// 数字
BigDecimal n = NumberUtil.round(3.14159, 2); // 3.14// 集合
List<String> list = ListUtil.of("a", "b", "c");
Map<String, Object> map = MapUtil.of(new String[][]{{"k", "v"}});// Bean / Map 互转
User u = BeanUtil.mapToBean(map, User.class, false);
Map<String, Object> m = BeanUtil.beanToMap(u);// 文件
FileUtil.copy(src, dest, true); // 复制
FileUtil.del(path); // 删除// 网络
String body = HttpUtil.get("https://baidu.com");// 加密
String md5 = SecureUtil.md5("123456");
AesCrypto aes = new AesCrypto(key);
String cipher = aes.encryptBase64(data);// JSON
JSONObject obj = JSONUtil.parseObj(json);
User user = obj.toBean(User.class);// Excel
ExcelWriter writer = ExcelUtil.getWriter("demo.xlsx");
writer.write(list);
writer.close();发送post请求:
String resp = HttpRequest.post("http://api.example.com/create")
.body("{\"name\":\"张三\",\"age\":18}")
.contentType("application/json")
.execute()
.body();生成密钥对:
// RSA 2048
KeyPair rsa = SecureUtil.generateKeyPair("RSA", 2048);
String publicKey = Base64.encode(rsa.getPublic().getEncoded());
String privateKey = Base64.encode(rsa.getPrivate().getEncoded());// ECC P-256
KeyPair ecc = SecureUtil.generateKeyPair("EC", 256);
String pubEcc = Base64.encode(ecc.getPublic().getEncoded());
String priEcc = Base64.encode(ecc.getPrivate().getEncoded());实现缓存:
TimedCache<String, Object> cache = CacheUtil.newTimedCache(TimeUnit.MINUTES.toMillis(3));
cache.put("token", "abc123");
Object token = cache.get("token"); // 3 分钟后自动失效