Hutool简易使用

  📚简介

    Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,

  使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

  Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的          bug。 

 

  🍺Hutool如何改变我们的coding方式  

  Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。

  以计算MD5为例:

  •   👴【以前】打开搜索引擎 -> 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
  •   👦【现在】引入Hutool -> SecureUtil.md5()

  Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。

 

 

  在项目的pom.xml的dependencies中加入以下内容:

 

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.5</version>
</dependency>
 /**
     * 当前时间
     */
    @Test
    void DateUtil() {
        Date data = new Date();
        DateTime time = new DateTime(data);
        System.out.println(time);
    }

    /**
     * 农历
     */
    @Test
    void ChineseDate() {
        ChineseDate chineseDate = new ChineseDate(new Date());
        System.out.println(chineseDate);
    }

    /**
     * 加密
     */
    @Test
    void md5() {
        System.out.println(DigestUtil.md5Hex("1233245"));
    }

    /**
     * 剪贴
     */
    @Test
    void ClipboardUtil(){
        System.out.println(ClipboardUtil.getStr());
    }

    /**
     * 拷贝
     * 把1复制到2
     */
    @Test
    void IoUtil(){

        BufferedInputStream in  = FileUtil.getInputStream("E:/1.txt");
        BufferedOutputStream out = FileUtil.getOutputStream("E:/2.txt");
        long copySize = IoUtil.copy(in,out,IoUtil.DEFAULT_BUFFER_SIZE);
    }

    /**
     * 隐藏
     */
    @Test
    void DesensitizedUtil(){
        String name = DesensitizedUtil.idCardNum("44092320010200000X",1,2);
        String Telephone =  DesensitizedUtil.mobilePhone("1382860000");
        String pwd = DesensitizedUtil.password("12341");
        System.out.println("身份证:"+name+"手机号码:"+Telephone+"密码"+pwd);
    }

    /**
     * 分页
     * 我还没弄好
     */
    @Test
    void PageUtil(){
        int [] rainbow = PageUtil.rainbow(5,20,6);
        System.out.println(rainbow);
    }

    /**
     * 随机社会信用代码
     */
    @Test
    void CreditCodeUtil(){
        String te = "124323459832593475983";
        CreditCodeUtil.isCreditCode(te);
        final String s = CreditCodeUtil.randomCreditCode();
        System.out.println(s);
    }

    /**
     * 验证码
     */
    @Test
    void LineCaptcha(){
        //定义图型验证码的长和宽
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200,100);
        //图形验证码写出,可以写出到文件,也可以写出到流
        lineCaptcha.write("E:/line.png");
        //输出code
        System.out.println(lineCaptcha.getCode());
        //验证图形验证码的有效性,返回boolean值
        lineCaptcha.verify("1234");

        //重新生成验证码
        lineCaptcha.createCode();
        lineCaptcha.write("E:/line.png");
        //新的验证码
        System.out.println(lineCaptcha.getCode());
        //验证图形验证码的有效性,返回boolean值
        lineCaptcha.verify("1234");
    }

    /**
     * 二维码
     */
    @Test
    void QrCodeUtil(){
        QrConfig config = new QrConfig();
        // 高纠错级别
        config.setErrorCorrection(ErrorCorrectionLevel.H);
        QrCodeUtil.generate("https://hutool.cn/", config, FileUtil.file("e:/qrcodeCustom.jpg"));
    }

 

posted @ 2022-08-31 15:35  33的男孩  阅读(428)  评论(0编辑  收藏  举报