Hutool,轻松玩转字符串操作, 都是案例,值得收藏!

你是否曾经为处理字符串而感到头疼?

无论是判断字符串是否为空、转换为数字、去除空格,还是进行拼接、替换或截取操作,这些常见的字符串处理需求经常让人感到烦恼。在这里插入图片描述
今天给大家带来一个Java工具类库 – Hutool,它封装了很多常用的功能,包括字符串、日期、加密、IO、网络等方面的操作,使用简单,代码量少,功能强大。

安装方式:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.18</version>
</dependency>

现在,让我们一起来看看如何使用Hutool的StrUtil来解决一些常见的字符串操作吧!

1. 字符串操作:可以快速进行字符串的判断、转换、拼接、替换、截取等操作。

 // 判断字符串是否为空
 StrUtil.isBlank(""); // true
 // 字符串转数字
 NumberUtil.parseInt("123"); // 123
 // 去除字符串空格
 StrUtil.trim(" abc "); // "abc"
 // 字符串拼接
 StrUtil.join(",", "a", "b", "c"); // "a,b,c"
 // 字符串替换
 StrUtil.replace("hello, world", "world", "Hutool"); // "hello, Hutool"
 // 字符串截取
 StrUtil.sub("hello, world", 0, 5); // "hello"

2. 日期时间操作:可以方便地进行日期时间的转换、格式化、计算、比较等操作。

 // 获取当前日期时间
 DateUtil.date(); // 2021-09-15 16:36:31
 // 日期时间格式化
 DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"); // "2021-09-15 16:36:31"
 // 日期时间计算
 DateUtil.offset(new Date(), DateField.MONTH, 1); // 2021-10-15 16:36:31
 // 日期时间转换
 DateUtil.parse("2021-09-15", "yyyy-MM-dd"); // 2021-09-15 00:00:00
 // 日期时间比较
 DateUtil.compare(new Date(), DateUtil.parse("2022-01-01", "yyyy-MM-dd")); // -1

3. 加密解密操作:可以进行MD5、SHA、AES、DES等加密解密操作,保护数据的安全性。

 //5加密
 SecureUtil.md5("hello"): // 5d41402abc4b2a76b9719d911017c592
 // SHA1加密
 SecureUtil.sha1("hello"): // aaf4c61ddcc5e8a2dabede0f3b482ed9aea9434d
 AES加密解密
 String key ="1234567890abedef"
 String str = "hello"
 String encryptStr = AesUtil.encrypt(str, key): // 26d4a4a3b6d771c33b9a4d66f93c2ec
 String decryptStr = AesUtil.decrypt(encryptStr, key); // hello
 // DES加密解密
 String key = "12345678"
 String str = "hello"
 String encryptStr = DesUtil.encrypt(str, key); // GtIvzFpQ2tI=
 String decryptStr = DesUtil.decrypt(encryptStr, key): // hello

`4. 文件IO操作:可以进行文件的读取、写入、复制、移动、删除等操作。

 // 文件读取
 String str = FileUtil.readUtf8String(new File("test.txt")); // "hello, world"
 // 文件写入
 FileUtil.writeUtf8String("hello, world", new File("test.txt"));
 // 文件复制
 FileUtil.copy(new File("src.txt"), new File("dest.txt"), true);
 // 文件移动
 FileUtil.move(new File("src.txt"), new File("dest.txt"), true);
 // 文件删除
 FileUtil.del(new File("test.txt"));

5. 网络操作:可以进行HTTP请求、FTP文件上传下载、邮件发送等网络相关操作。

 // 发送HTTP GET请求
 String result = HttpUtil.get("http://www.baidu.com");
 // 发送HTTP POST请求
 Map<String, Object> paramMap = new HashMap<>();
 paramMap.put("username", "admin");
 paramMap.put("password", "123456");
 String result = HttpUtil.post("http://www.example.com/login", paramMap);
 // 上传文件到FTP服务器
 String host = "ftp.example.com";
 int port = 21;
 String username = "username";
 String password = "password";
 String path = "/upload";
 String fileName = "test.txt";
 File file = new File("test.txt");
 FtpUtil.upload(host, port, username, password, path, fileName, file);
 // 发送邮件
 String to = "example@example.com";
 String subject = "测试邮件";
 String content = "这是一封测试邮件";
 MailUtil.send(to, subject, content, false);

6. Bean操作:可以快速对JavaBean进行赋值、拷贝、转换等操作。

 // 对象属性拷贝
 User user1 = new User("Tom", 18);
 User user2 = new User();
 BeanUtil.copyProperties(user1, user2);
 // 获取对象的属性值
 User user = new User("Tom", 18);
 String name = BeanUtil.getProperty(user, "name"); // "Tom"
 // 设置对象的属性值
 User user = new User();
 BeanUtil.setProperty(user, "name", "Tom");
 // 对象序列化
 User user = new User("Tom", 18);
 byte[] bytes = SerializeUtil.serialize(user);
 // 对象反序列化
 User user = SerializeUtil.deserialize(bytes);

7. 集合操作:可以进行集合的排序、过滤、查找、转换等操作。

 // 集合排序
 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4);
 CollUtil.sort(list); // [1, 2, 3, 4, 5]
 // 集合过滤
 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4);
 List<Integer> filteredList = CollUtil.filter(list, (Filter<Integer>) i -> i % 2 == 0); // [2, 4]
 // 集合查找
 List<Integer> list = Arrays.asList(3, 1, 5, 2, 4);
 int index = CollUtil.indexOf(list, 5); // 2
 // 集合转换
 List<Integer> list = Arrays.asList(1, 2, 3);
 String str = CollUtil.join(list, ","); // "1,2,3"

8. 其他常用操作:包括随机数生成、身份证号码验证、二维码生成等等。

// 生成随机数
 int random = RandomUtil.randomInt(1, 10);
 // 验证身份证号码
 boolean isValid = IdcardUtil.isValidCard("11010119900307607X");
 // 生成二维码
 QrCodeUtil.generate("http://www.example.com", 300, 300, new File("qrcode.png"));

以上是Hutool常用的一些用法案例及案例效果,Hutool提供的功能非常丰富,可以帮助Java开发者快速开发高质量的应用程序。

总结

——————————————————————————————————————————————————————————————————————————
无论是日常开发还是处理复杂的字符串操作,Hutool的StrUtil工具类都是你的得力助手。

它提供了一系列强大而简洁的方法,让字符串处理变得轻松有趣。

如果你想要深入了解Hutool,并掌握更多实用的功能和技巧,可以访问官网。

官网:https://www.hutool.cn/

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值