Apache Commons 常用工具类整理

其实一直都在使用常用工具类,只是从没去整理过,今天空了把一些常用的整理一下吧
怎么使用的一看就明白,另外还有注释,最后的使用pom引入的jar包

 

public class ApacheCommonsTest {

    /**
     * 从一个entity中把属性复制进另外一个entity中
     *
     * @throws Exception
     */
    @Test
    public void testCopyNewBean() throws Exception {
        StuForm form = new StuForm("lee", 18, 1, new Date(), true);
        Stu stu = new Stu();
        BeanUtils.copyProperties(form, stu);
        System.out.println(stu.toString());

    }

    /**
     * base64 加密解密
     *
     * @throws Exception
     */
    @Test
    public void testBase64Code() throws Exception {
        String name1 = "hello, my name is lee~";
        System.out.println("Before: " + name1);

        String name2 = Base64.encodeBase64String(name1.getBytes());
        System.out.println("After encode: " + name2);

        String name3 = new String(Base64.decodeBase64(name2));
        System.out.println("After decode: " + name3);

        String url1 = "www.lee.com.cn";
        System.out.println("URL Before: " + url1);

        String url2 = Base64.encodeBase64URLSafeString(url1.getBytes());
        System.out.println("URL After decode: " + url2);

        String url3 = new String(Base64.decodeBase64(url2));
        System.out.println("URL After decode: " + url3);
    }

    /**
     * commons 下 collection 工具包
     *
     * @throws Exception
     */
    @Test
    public void testCollection() throws Exception {
        OrderedMap<String, Object> om = new LinkedMap<String, Object>();
        om.put("one", 1);
        om.put("two", "2");
        om.put("three", "three");
        om.put("fore", 4);
        om.put("five", "5");
        System.out.println(om.firstKey());
        System.out.println(om.nextKey("fore"));
        System.out.println(om.previousKey("five"));

        System.out.println("==============================");

        BidiMap bm = new TreeBidiMap();
        bm.put("three", "3");
        bm.put("five", "isfive");
        System.out.println(bm.getKey("isfive").toString());
        System.out.println(bm.get("three"));

        // 交换key和value
        BidiMap newMap = bm.inverseBidiMap();
        System.out.println(newMap.size());

        System.out.println("==============================");

        Bag<Object> bag = new HashBag<Object>();
        bag.add("abc");
        bag.add("def", 3);
        bag.add("ghi", 5);

        System.out.println(bag.size());

        // 过滤重复元素
        Set<Object> onlyU = bag.uniqueSet();
        Iterator<Object> i = onlyU.iterator();
        while(i.hasNext()){
            Object o = i.next();
            System.out.println(o.toString());
        }
    }

    /**
     * Apache Commons Configuration
     *
     * @throws Exception
     */
    @Test
    public void testConfig() throws Exception {
        PropertiesConfiguration p = new PropertiesConfiguration("test.properties");
        System.out.println(p.getString("boy.name"));
        System.out.println(p.getInt("boy.age"));
        System.out.println(p.getString("boy.birth"));

        p.setHeader("##this is a new string##");
        p.setProperty("new.string", "newString");
        // 保存在编译后的目录中
        p.save();
        p.save("newP");

    }

    /**
     * Apache Commons Lang
     *
     * @throws Exception
     */
    @Test
    public void testLang() throws Exception {
        String a1[] = {"1", "2", "3"};
        String a2[] = {"a", "b", "c"};
        // 合并数组
        String a3[] = (String[])ArrayUtils.addAll(a1, a2);
        for (String s : a3) {
            System.out.println(s);
        }

        System.out.println("==============================");

        String str = "hello, my name is hanmeimei! what's your name? name";
        // 出现第一个和第二个name之间的string
        String s1 = StringUtils.substringBetween(str, "name");
        System.out.println("s1: " + s1);
        // 截取第一次出现的字符串之间的string
        String s2 = StringUtils.substringBetween(str, "name", "your");
        System.out.println("s2: " + s2);

//        StringUtils.substringAfter(str, separator)
//        StringUtils.substringBefore(str, separator)

        System.out.println("==============================");

        // 判断该字符串是不是为数字(0~9)组成,如果是,返回true 但该方法不识别有小数点
        System.out.println(StringUtils.isNumeric("454534"));

        System.out.println("==============================");

        System.out.println(ClassUtils.getShortClassName(Test.class));
        System.out.println(ClassUtils.getPackageName(Test.class));

        System.out.println("==============================");

        // 判断该字符串是不是为数字(0~9)组成,如果是,返回true 可以识别有小数点
        System.out.println(NumberUtils.isNumber("12334.11"));
        // 不建议使用,可以使用 Integer.valueOf("[number]")
        System.out.println(NumberUtils.stringToInt("33"));
        System.out.println(Integer.valueOf("33"));

        // 五位的随机字母和数字
        System.out.println(RandomStringUtils.randomAlphanumeric(5));
        System.out.println(StringEscapeUtils.escapeHtml("<html>"));
        System.out.println(StringEscapeUtils.escapeJava("String"));

        // StringUtils,判断是否是空格字符
        System.out.println(StringUtils.isBlank("   "));
//        StringUtils.isEmpty("");
        // 将数组中的内容以,分隔
        System.out.println(StringUtils.join(a3, ","));
        // 在右边加下字符,使之总长度为6
        System.out.println(StringUtils.rightPad("abc", 6, 'T'));
        // 首字母大写
        System.out.println(StringUtils.capitalize("abc"));
        // Deletes all whitespaces from a String 删除所有空格
        System.out.println(StringUtils.deleteWhitespace("   ab  c  "));
        // 判断是否包含这个字符
        System.out.println(StringUtils.contains("abc", "ba"));
        // 表示左边两个字符
        System.out.println(StringUtils.left("abc", 2));
    }

}

 

<!-- apache commons -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.1</version>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.10</version>
        </dependency>

 

附上地址:https://github.com/leechenxiang/maven-apache-commons

 

时间: 2025-01-27 15:27:07

Apache Commons 常用工具类整理的相关文章

IOS开发--常用工具类收集整理(Objective-C)(持续更新)

 前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就不要傻傻的重复造轮子了,还是提高工作效率,早点完成工作早点回家陪老婆孩子. 所以下面备份的常用工具类一定是你需要的. 前提:你有一定的开发经验,知道它们在开发的什么地方需要,你都不知道用在哪里,那你需要个毛啊,还是好好另外学好基础吧.少儿不宜,请离开哦. 插件目录列表:(持续更新和添加) 1.UI

java常用工具类之Excel操作类及依赖包下载_java

依赖包下载:http://xiazai.jb51.net/201407/tools/java-excel-dependency(jb51.net).rar Excel工具类ExcelUtil.java源码: package com.itjh.javaUtil; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStr

PHP常用工具类大全附全部代码下载_php实例

废话不多说了,直接给大家贴php代码了,具体代码如下所示: <?php /** * 助手类 * @author www.shouce.ren * */ class Helper { /** * 判断当前服务器系统 * @return string */ public static function getOS(){ if(PATH_SEPARATOR == ':'){ return 'Linux'; }else{ return 'Windows'; } } /** * 当前微妙数 * @retu

C#常用工具类——Excel操作类

/// 常用工具类--Excel操作类 /// <para> ------------------------------------------------</para> /// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para> /// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

[C#] 常用工具类——加密解密类

using System; using System.Configuration; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using S

[C#] 常用工具类——系统日志类

using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类--系统日志类 /// <para> ---------------------------------------------------</par

[C#] 常用工具类——直接在浏览器输出数据

/// <summary> /// <para> </para> /// 常用工具类--直接在浏览器输出数据 /// <para> -------------------------------------------------------------</para> /// <para> DumpDataTable:接在浏览器输出数据DataTable</para> /// <para> DumpListIt

java常用工具类

java中有用的工具集 任何语言都要处理日期,map类型,字符串,数字类型的数据,这里找到一些用java经常处理这些数据的常用工具类,以便参考 一 VO工具集 package com.sds.faro.common.util; import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import

[C#] 常用工具类——应用程序属性信息访问类

using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类--应用程序属性信息访问类 /// <para> -------------------------------------------</para&g