JAVA常用工具类(根据GITHUB代码统计)

从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但是当你真正知道了这些包的用处之后,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间。

目录
- 第一部分:常用的16个工具类
- 第二部分:常用的测试库(链接及用法)
- 第三部分:java开发常用工具类(正则校验)

第一部分:常用的16个工具类

一、org.apache.commons.io.IOUtils

1、closeQuietly 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。

2、toString 转换IO流、Uri、byte[]为String。

3、copy IO流数据复制,从输入流写到输出流中,最大支持2GB。

4、toByteArray 从输入流、URI获取byte[]。

5、write 把字节、字符等写入输出流。

6、toInputStream 把字符转换为输入流。

7、readLines 从输入流中读取多行数据,返回List

8、copyLarge 同copy,支持2GB以上数据的复制。

9、lineIterator 从输入流返回一个迭代器,

10、根据参数要求读取的数据量,全部读取,如果数据不够,则失败。

二、org.apache.commons.io.FileUtils

1、deleteDirectory 删除文件夹

2、readFileToString 以字符形式读取文件内容。

3、deleteQueitly 删除文件或文件夹且不会抛出异常。

4、copyFile 复制文件

5、writeStringToFile 把字符写到目标文件,如果文件不存在,则创建。

6、forceMkdir 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。

7、write 把字符写到指定文件中

8、listFiles 列举某个目录下的文件(根据过滤器)

9、copyDirectory 复制文件夹

10、forceDelete 强制删除文件

三、org.apache.commons.lang.StringUtils

1、isBlank 字符串是否为空 (trim后判断)

2、isEmpty 字符串是否为空 (不trim并判断)

3、equals 字符串是否相等

4、join 合并数组为单一字符串,可传分隔符

5、split 分割字符串

6、EMPTY 空字符串

7、trimToNull trim后为空字符串则转换为null

8、replace 替换字符串

四、org.apache.http.util.EntityUtils

1、toString 把Entity转换为字符串

2、consume 确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉。

3、toByteArray 把Entity转换为字节流

4、consumeQuietly 和consume一样,但不抛异常

5、getContentCharset 获取内容的编码

五、org.apache.commons.lang3.StringUtils

1、isBlank 字符串是否为空 (trim后判断)

2、isEmpty 字符串是否为空 (不trim并判断)

3、equals 字符串是否相等

4、join 合并数组为单一字符串,可传分隔符

5、split 分割字符串

6、EMPTY 空字符串

7、replace 替换字符串

9、capitalize 首字符大写

六、org.apache.commons.io.FilenameUtils

1、getExtension 返回文件后缀名

2、getBaseName 返回文件名,不包含后缀名

3、getName 返回文件全名

4、concat 按命令行风格组合文件路径(详见方法注释)

5、removeExtension 删除后缀名

6、normalize 使路径正常化

7、wildcardMatch 匹配通配符

8、seperatorToUnix 路径分隔符改成unix系统格式的,即/

9、getFullPath 获取文件路径,不包括文件名

10、isExtension 检查文件后缀名是不是传入参数(List)中的一个

七、org.springframework.util.StringUtils

1、hasText 检查字符串中是否包含文本

2、hasLength 检测字符串是否长度大于0

3、isEmpty 检测字符串是否为空(若传入为对象,则判断对象是否为null)

4、commaDelimitedStringToArray 逗号分隔的String转换为数组

5、collectionToDelimitedString 把集合转为CSV格式字符串

6、replace 替换字符串

7、delimitedListToStringArray 相当于split

8、uncapitalize 首字母小写

9、collectionToDelimitedCommaString 把集合转为CSV格式字符串

10、tokenizeToStringArray 和split基本一样,但能自动去掉空白的单词

八、org.apache.commons.lang.ArrayUtils

1、contains 是否包含某字符串

2、addAll 添加所有

3、clone 克隆一个数组

4、isEmpty 是否空数组

5、add 向数组添加元素

6、subarray 截取数组

7、indexOf 查找下标

8、isEquals 比较数组是否相等

9、toObject 基础类型数据数组转换为对应的Object数组

九、org.apache.commons.lang.StringEscapeUtils

支持编码转换

escapeXml unEscapeXml。

此外,还支持html、java、JavaScript、sql、csv等

十、org.apache.http.client.utils.URLEncodedUtils

1、format 格式化参数,返回一个HTTP POST或者HTTP PUT可用 application/x-www-form-urlencoded字符串

2、parse 把String或者URI等转换为List

十一、org.apache.commons.codec.digest.DigestUtils

1、md5Hex MD5加密,返回32位

2、sha1Hex SHA-1加密

3、sha256Hex SHA-256加密

4、sha512Hex SHA-512加密

5、md5 MD5加密,返回16位

十二、org.apache.commons.collections.CollectionUtils

1、isEmpty 是否为空

2、select 根据条件筛选集合元素

3、transform 根据指定方法处理集合元素,类似List的map()。

4、filter 过滤元素,雷瑟List的filter()

5、find 基本和select一样

6、collect 和transform 差不多一样,但是返回新数组

7、forAllDo 调用每个元素的指定方法。

8、isEqualCollection 判断两个集合是否一致

十三、org.apache.commons.lang3.ArrayUtils

1、contains 是否包含某字符串

2、addAll 添加所有

3、clone 克隆一个数组

4、isEmpty 是否空数组

5、add 向数组添加元素

6、subarray 截取数组

7、indexOf 查找下标

8、isEquals 比较数组是否相等

9、toObject 基础类型数据数组转换为对应的Object数组

十四、org.apache.commons.beanutils.PropertyUtils

1、getProperty 获取对象属性值

2、setProperty 设置对象属性值

3、getPropertyDiscriptor 获取属性描述器

4、isReadable 检查属性是否可访问

5、copyProperties 复制属性值,从一个对象到另一个对象

6、getPropertyDiscriptors 获取所有属性描述器

7、isWriteable 检查属性是否可写

8、getPropertyType 获取对象属性类型

十五、org.apache.commons.lang3.StringEscapeUtils

支持编码转换

escapeJson unEscapeJson。

此外,还支持html、java、JavaScript、sql、csv、xml等

十六、org.apache.commons.beanutils.BeanUtils

1、copyPeoperties 复制属性值,从一个对象到另一个对象

2、getProperty 获取对象属性值

3、setProperty 设置对象属性值

4、populate 根据Map给属性复制

5、copyPeoperty 复制单个值,从一个对象到另一个对象。

6、cloneBean 克隆


第二部分:常用的测试库(链接及用法)

以下提供一些类库的测试,希望对大家有用:

  • Java命令行选项解析之Commons-CLI & Args4J & JCommander详细内容
  • Java调用Native API之JNA详细内容
  • Java执行SSH/SCP之JSch详细内容
  • Java元组类型之javatuples详细内容
  • Java读写Excel之POI超入门详细内容
  • Java操作PDF之iText超入门详细内容
  • Java构建工具之Ant详细内容
  • Java模板引擎之FreeMarker详细内容
  • Java生成缩略图之Thumbnailator详细内容
  • Java日期计算之Joda-Time详细内容
  • Java工具类之Apache的Commons Lang和BeanUtils详细内容
  • Java集合框架之fastutil详细内容
  • Java网络通信之HttpClient详细内容
  • Java解析HTML之NekoHTML详细内容
  • Java读写CSV之SuperCSV详细内容
  • Java作业调度之Quartz详细内容
  • Java压缩解压ZIP之Zip4j详细内容
  • Java嵌入式NoSQL数据库之Berkeley DB Java Edition详细内容
  • Java单元测试之邮件测试-GreenMail详细内容
  • Java单元测试之代码覆盖率-JaCoCo详细内容
  • Java日文分词器之Kuromoji详细内容
  • Java数学表达式计算(Expression Evaluator)详细内容
  • Java检测无用代码之UCDetector详细内容
  • Java简化臃肿代码之Lombok详细内容

第三部分:java开发常用工具类(正则校验)

原文链接https://www.cnblogs.com/ITzhangda/p/9146452.html

java正则表达式的匹配包括:邮箱,手机,姓名,昵称,身份证号,银行卡号等;
生成6位随机数;
对url中字符串进行编码和解码;
获取客户端ip地址;
获取系统当前时间;

生成32位编码不含横线;

生成MD5编码;

通过身份证获取性别;

通过身份证获取生日;

手机号中间4位替换成星号;

邮箱地址加星号;

生成随机密码;

JAVA常用工具类(实用高效)相关推荐

  1. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  2. java常用工具类和Hutool常用的工具类整理

    java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /*** Scanner 类*/@Testpublic void testScanner() {Sc ...

  3. Java常用工具类JsonUtils

    Java常用工具类JsonUtils 一.项目添加pom文件 <dependency><groupId>com.google.code.gson</groupId> ...

  4. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  5. Java 常用工具类整理

    目录 第一部分:常用的16个工具类 第二部分:java开发常用工具类(正则校验) 第一部分:常用的16个工具类 一.org.apache.commons.io.IOUtils 1.closeQuiet ...

  6. Java常用工具类之异常、包装类、字符串处理类、集合框架实现类、输入输出流、多线程

    集合.多线程和I/O流等 介绍6种常用工具类: 1.如何应用异常处理程序中的问题?2.如何通过包装器类实现基本数据类型的对象化处理?3.字符串处理类String.StringBuilder是如何进行字 ...

  7. Java 常用工具类 Collections 源码分析

    文章出处 文章出自:安卓进阶学习指南 作者:shixinzhang 完稿日期:2017.10.25 Collections 和 Arrays 是 JDK 为我们提供的常用工具类,方便我们操作集合和数组 ...

  8. java常用工具类_java(二):工作中常用到的工具类

    工作中大家要用到很多工具类,第三方的jar中有很多现成的工具类符合自己的项目需要,这个时候就不需要去重复造轮子了,从而节省了很多时间,大家可以利用这些时间去做其它重要的事情,如果没有符合自己的工具类, ...

  9. java 常用工具类的使用一

    1. Java工具概述 很多人初学程序时,总是在想,那么多的算法该怎么写呀?那么多的数据结构都不熟悉,该怎么实现呀?总是担心英语不好程序学不精通,数学不好写程序无法达到巅峰.学的程序越多,不懂的知识越 ...

最新文章

  1. TensorFlow 变量共享,命名空间
  2. 阿里云发布飞天专有云敏捷版 支持Docker企业版
  3. spring初始化相关
  4. IDEA系列(十)--新建一个项目后之前的项目不显示
  5. wpsppt如何虚化图片_PPT模仿之路——图片以及笔画的虚化
  6. RPOPLPUSH用法(转)
  7. main方法 如何去掉http debug日志_在MyBatis中如何使用collection标签实现嵌套查询?...
  8. HTTP Error 503与.NET 3.5 SP1 X64
  9. 关于理财险的知识你知道哪些?
  10. linux 格式化硬盘_linux系统装进移动硬盘
  11. 基于java民航售票管理系统源码(java毕业设计)
  12. 【数组练习题】计算一下牧场中的草丛数量(详细代码)
  13. stata命令汇总_Stata常用命令应知应会(500条)
  14. leetcode1658.将x见到0的最小操作数
  15. Springboot+mysql+大学生就业管理系统 毕业设计 -附源码290915
  16. 剖析CPU温度监控技术
  17. Cesium加载月球WMTS服务
  18. 开发转测试没人要_我做软件测试六年的一些感悟
  19. linux程序打印cr3寄存器,CR0,CR3寄存器
  20. html设置表格字体样式表,CSS:表格样式(设置表格边框/文字/背景的样式)

热门文章

  1. C# 防止界面假死 多线程进度条的合理使用
  2. tiktok最新风控算法以及视频播放量问题研究
  3. 你是真正的SAP ERP咨询顾问吗?
  4. 华清远见fs4412开发板学习笔记(五)
  5. 安装ROS过程中问题及解决
  6. pytorch_lesson16.2 架构对学习/鲁棒性的影响(VGG16复现+感受野+平移不变性)+架构对参数量的影响(1*1卷积核+分组卷积与深度分离卷积+NiN网络复现)
  7. 面向对象编程(包,继承,组合)
  8. 信贷风控模型开发----模型流程好坏样本定义
  9. 中英文朗读器 v2.05 怎么用
  10. 电脑下载python却无法识别出来_python – 在其他计算机上测试EXE时找不到PyInstaller ImportError DLL...