§ 本文目标

通过该章节,了解到框架本身封装的工具类提供的方法

§ 练习场景

§ 工具类

§ 启动信息工具类(cn.com.yusys.yusp.commons.util.AppStartMessageUtil)

应用启动信息工具类,在应用启动成功后提示一些必要信息如服务名、IP、端口等

返回值 方法 方法描述
String updServiceStartMessage(Environment env) 根据环境信息自动返回格式化好的启动信息

§ 断言工具类(cn.com.yusys.yusp.commons.util.Asserts)

断言工具类,主要用于断言判断后不成立直接抛出异常,其中抛出的异常均为YuspException, 异常消息为格式化的消息字符串,使用slf4j方式进行消息格式化

返回值 方法 方法描述
void assertTrue(boolean expression, String messagePattern, Object... argArray) 表达式为false抛出异常
void assertTrue(boolean expression, String code, String messagePattern, Object... argArray) 表达式为false抛出异常
void assertFalse(boolean expression, String messagePattern, Object... argArray) 表达式为true抛出异常
void assertFalse(boolean expression, String code, String messagePattern, Object... argArray) 表达式为true抛出异常
void assertNull(String str, String messagePattern, Object... argArray) 字符串不为空或空字符串抛出异常
void assertNull(String str, String code, String messagePattern, Object... argArray) 字符串不为空或空字符抛出异常
void assertNull(Object object, String messagePattern, Object... argArray) 对象不为空抛出异常
void assertNull(Object object, String code, String messagePattern, Object... argArray) 对象不为空抛出异常
void assertNonNull(String str, String messagePattern, Object... argArray) 字符串为空或空字符串抛出异常
void assertNonNull(String str, String code, String messagePattern, Object... argArray) 字符串为空或空字符抛出异常
void assertNonNull(Object object, String messagePattern, Object... argArray) 对象为空抛出异常
void assertNonNull(Object object, String code, String messagePattern, Object... argArray) 对象为空抛出异常
void assertNullOrEmpty(Collection<?> collection, String messagePattern, Object... argArray) 集合对象不为空或集合长度不为0抛出异常
void assertNullOrEmpty(Collection<?> collection, String code, String messagePattern, Object... argArray) 集合对象不为空或集合长度不为0抛出异常
void assertNonNullOrEmpty(Collection<?> collection, String messagePattern, Object... argArray) 集合对象为空或集合长度为0抛出异常
void assertNonNullOrEmpty(Collection<?> collection, String code, String messagePattern, Object... argArray) 集合对象为空或集合长度为0抛出异常
void assertNullOrEmpty(Map<?, ?> map, String messagePattern, Object... argArray) Map对象不为空或集合长度不为0抛出异常
void assertNullOrEmpty(Map<?, ?> map, String code, String messagePattern, Object... argArray) Map对象不为空或集合长度不为0抛出异常
void assertNonNullOrEmpty(Map<?, ?> map, String messagePattern, Object... argArray) Map对象为空或集合长度为0抛出异常
void assertNonNullOrEmpty(Map<?, ?> map, String code, String messagePattern, Object... argArray) Map对象为空或集合长度为0抛出异常
void assertMinNumber(Number value, Number minVal, String messagePattern, Object... argArray) 小于最小值抛出异常
void assertMaxNumber(Number value, Number maxVal, String messagePattern, Object... argArray) 大于最大值抛出异常
void assertEquals(Object obj1, Object obj2, String messagePattern, Object... argArray) 对象不相等抛出异常
void assertNonEquals(Object obj1, Object obj2, String messagePattern, Object... argArray) 对象相等抛出异常
void assertEquals(Object[] objs, Object obj2, String messagePattern, Object... argArray) 集合中存在一个不相等的对象抛出异常
void assertNonEquals(Object[] objs, Object obj2, String messagePattern, Object... argArray) 集合中存在一个相等的对象抛出异常
void assertEquals(Collection<?> objs, Object obj2, String messagePattern, Object... argArray) 集合中存在一个不相等的对象抛出异常
void assertNonEquals(Collection<?> objs, Object obj2, String messagePattern, Object... argArray) 集合中存在一个相等的对象抛出异常

§ Aes加解密工具类(cn.com.yusys.yusp.commons.util.AESUtil)

Aes加解密处理工具类

返回值 方法 方法描述
String encrypt(String content, String password) 使用AES/ECB/PKCS5Padding算法加密
String encryptAes(String content, String password) 使用AES算法加密
String decrypt(String content, String password) 使用AES/ECB/PKCS5Padding算法解密
String decryptAes(String content, String password) 使用AES算法解密

§ Base64工具类(cn.com.yusys.yusp.commons.util.Base64Util)

Base64工具类

返回值 方法 方法描述
char[] encodeToChar(byte[] sArr, boolean lineSep) 编码成字符数组,lineSep是否分行
byte[] encodeToByte(byte[] sArr, boolean lineSep) 编码成字节数组,lineSep是否分行
byte[] encodeToByte(byte[] sArr) 编码成无分行符Base64字节数组
byte[] decode(char[] sArr) 解码无分行符字符数组
byte[] decode(byte[] sArr) 解码base64编码的字节数组
byte[] decodeFast(char[] sArr) 快速解码无分行符字符数组
byte[] decodeFast(byte[] sArr) 快速解码base64编码的字节数组
String encodeToString(byte[] sArr, boolean lineSep) 将原始字节数组编码为base64的字符串
byte[] decode(String str) 解码无分行符的Base64组成的字符串
byte[] decodeFast(String s) 快速解码无分行符的Base64组成的字符串
char[] base64Encode(byte[] srcData) 编码成不分行的字符数组
String base64Encode2String(byte[] srcData) 将原始字节数组编码为base64的字符串

§ Bean对象处理工具类(cn.com.yusys.yusp.commons.util.BeanUtil)

Bean对象处理工具类

返回值 方法 方法描述
<T> T beanCopy(Object source, T target) 对象Copy,将源对象的与目标对象的同名成名变量值进行复制
<T> T beanCopy(Object source, Class<T> target) 对象Copy,将源对象的与目标对象的同名成名变量值进行复制
<T> Collection<? extends Object> beansCopy(Collection<? extends Object> source, Class<?> target) 集合对象Copy,将源对象的与目标对象的同名成名变量值进行复制
Object newInstance(Class<?> classt) 通过构建器创建一个对象
<T> T newInstance(String className) 通过构建器创建一个对象
void setObjectFieldValue(Object object, Field field, Object value) 安全的设置对象字段值
Object getObjectFieldValue(Object object, Field field) 安全的获取对象字段值
Object getObjectFieldValue(Object object, String clazzName, String fieldName) 当object为指定对象时获取指定属性值

§ 依赖文件的Ras加解密工具类(cn.com.yusys.yusp.commons.util.BCRSAUtil)

Ras加解密工具类,依赖于工程文件resources/cert目录下pwd_private.key和pwd_public.key两个文件

返回值 方法 方法描述
Key readKey(String keyName) 加载指定classpath下的资源文件
String decryptByPrivate(String rawStr) 通过本地私钥文件进行解密
String encryptByPub(String password) 通过本地公钥文件进行加密
String decrypt(Key key, byte[] raw) 通过指定的Key使用RSA/None/PKCS1Padding算法进行解密
byte[] encryptByPub(byte[] data, byte[] keyByte) 通过指定的公钥Key使用RSA/None/PKCS1Padding算法加密数据
byte[] encryptByPub(byte[] data, String keyStr) 通过指定的公钥Key使用RSA/None/PKCS1Padding算法加密数据
String encryptByPrivate(String password) 通过本地私钥文件进行加密
byte[] encryptByPrivate(byte[] data, byte[] keyByte) 通过指定的私钥Key使用RSA/None/PKCS1Padding算法加密数据
byte[] encryptByPrivate(byte[] data, String keyStr) 通过指定的私钥Key使用RSA/None/PKCS1Padding算法加密数据
KeyStore loadKeyStoreFromJksPath(String jksPath, String alias, String storeType, String passWord) 从指定的路径中根据store类型及密码获取指定的KeyStore
PrivateKey getPrivateKeyFromStore(String jksPath, String alias, String storeType, String passWord) 从已生成的KeyStore文件中获取私钥
PublicKey getPublicKeyFromStore(String jksPath, String alias, String storeType, String passWord) 从已生成的KeyStore文件中获取公钥
PublicKey getPublicKeyFromCrt(String crtPath) 从已生成的证书文件获取公钥
void createPublicKeyFile(PublicKey key, String filePath) 创建公钥,并存放到指定路径的公钥文件中
void createPrivateKeyFile(PrivateKey key, String filePath) 创建私钥,并存放到指定路径的私钥文件中

§ 通用对象判断处理工具类(cn.com.yusys.yusp.commons.util.CommonUtil)

通用对象判断处理工具类

返回值 方法 方法描述
boolean isNullOrEmpty(Collection<?> collection) 判断集合是否为null或空
boolean nonNullOrEmpty(Collection<?> collection) 判断集合不为null和空
boolean isNullOrEmpty(Map<?, ?> map) 判断MAP是否为null或空
boolean nonNullOrEmpty(Map<?, ?> map) 判断Map不为null和空
boolean nonNull(Object object) 判断对象不为空且转化为string后不为空字符串
boolean nonNullOrEmpty(Object[] objects) 判断数组不为null和空
boolean isNullOrEmpty(Object[] objects) 判断数组为null或空
<T> T ofNullableElse(T srcObject, T elseObject) 为空获取另一个对象
Map<String, Object> removeNullValue(Map<String, Object> paramObject) 剔除map中值为空的key,返回线程安全的ConcurrentHashMap
Map<String, Object> removeKeys(Map<String, Object> paramMap, String... keys) 去除某些key,返回线程安全的ConcurrentHashMap
boolean exists(Object object, Object... objects) 判断对象是否存在
String formatMessage(String messagePattern, Object... objects) 格式化字符串,采用slf4j的方式

§ 压缩工具类(cn.com.yusys.yusp.commons.util.CompressUtil)

压缩工具类

返回值 方法 方法描述
byte[] compressData(byte[] bytes) 压缩数据,使用JDK本身提供了数据压缩的一个API,java.util.zip.Deflater.deflate
byte[] deCompressData(byte[] bytes) 解压缩数据,使用JDK本身提供了数据压缩的一个API,java.util.zip.Inflater.inflate
boolean isJarFile(File file) 判断文件是否为jar文件
boolean isZipFile(File file) 判断文件是否为zip文件
void compressJar(String pathName, String jarName, boolean isRoot) 将路径为pathName的文件压缩为jarName的jar文件,isRoot是否保留根目录
void deCompressJar(String jarName, String filePath) 将jarName的jar文件解压缩为路径为filePath的文件夹
void compressZip(String pathName, String zipName, boolean isRoot) 将路径为pathName的文件压缩为zipName的Zip文件
void deCompressZip(String zipName, String filePath) 将zipName的zip文件解压缩为路径为filePath的文件夹
void compressGZip(String sourceFilePath, String gzipFilePath) gzip压缩文件。
byte[] compressGZipData(byte[] bytes) 压缩GZip数据
void deCompressGZip(String gzipFilePath, String targetFilePath) 解压GZip文件。
byte[] deCompressGZipData(byte[] bytes) 解压缩GZip数据
byte[] compressZipData(byte[] bytes) 压缩Zip数据
byte[] deCompressZipData(byte[] bytes) 解压缩Zip数据

§ 日期时间工具类(cn.com.yusys.yusp.commons.util.DateUtil)

日期时间处理工具类

返回值 方法 方法描述
int getCurrYear() 获得当前日期的年份
int getYear(Date date) 获得传入日期的年份
int getCurrMonth() 获得当前日期的月份
int getMonth(Date date) 获得传入日期的月份
int getCurrMonthDay() 获得当前日期的在月份中的天数
int getMonthDay(Date date) 获得当前日期的在月份中的天数
int getCurrYearDay() 获得当前日期的在年中的天数
int getYearDay(Date date) 获得当前日期的在年中的天数
int getDayHour(Date date) 获得传入日期的在一天中的小时数
int getCurrDayHour() 获得传入日期的在一天中的小时数
int getCurrMinute() 获得传入日期的在一天中的分钟数
int getMinute(Date date) 获得传入日期的在一天中的分钟数
int getCurrSecond() 获得传入日期的在一天中的秒钟数
int getSecond(Date date) 获得传入日期的在一天中的秒钟数
int get(Date date, int field) 获得传入日期的域信息
Date addYear(int amount) 当前日期加年份
Date addYear(Date date, int amount) 指定日期加年份
String addYear(String date, String pattern, int amount) 指定日期加年份
String addYear(Date date, String pattern, int amount) 指定日期加年份
Date addMonth(int amount) 当前日期加月份
Date addMonth(Date date, int amount) 指定日期加月份
String addMonth(String date, String pattern, int amount) 指定日期加月份
String addMonth(Date date, String pattern, int amount) 指定日期加月份
Date addDay(int amount) 当前日期加天
Date addDay(Date date, int amount) 指定日期加天
Date addDay(String date, String pattern, int amount) 指定日期加天
Date addDay(Date date, String pattern, int amount) 指定日期加天
Date add(Date date, int field, int amount) 日期信息相加
String formatDate(String pattern) 格式化当前日期
String formatDate(Date date, String pattern) 格式化传入的日期
String formatDateByDef() 使用默认的格式yyyy-MM-dd格式化当前日期
String formatDateByDef(Date date) 使用默认的格式yyyy-MM-dd格式化当前传入日期
String formatDateTimeByDef() 使用默认的格式yyyy-MM-dd HH:mm:ss格式化当前日期
String formatDateTimeByDef(Date date) 使用默认的格式yyyy-MM-dd HH:mm:ss格式化当前传入的日期
Date parseDate(String date, String pattern) 日期转换
Date parseDateByDef(String date) 使用默认的格式yyyy-MM-dd转换已格式化的日期
Date parseDateTimeByDef(String date) 使用默认的格式yyyy-MM-dd HH:mm:ss转换已格式化的日期
int getMonthsByTwoDates(Date startDate, Date endDate) 获得两个时间之间相差的月份,如天数未对应,则不算满一个月
int getMonthsByTwoDates(String startDate, String endDate, String pattern) 获得两个时间之间相差的月份,如天数未对应,则不算满一个月
int getMonthsByTwoDates(String startDate, String startPattern, String endDate, String endPattern) 获得两个时间之间相差的月份,如天数未对应,则不算满一个月
int getMonthsByTwoDatesDef(String startDate, String endDate) 获得两个时间之间相差的月份,如天数未对应,则不算满一个月,使用默认的格式yyyy-MM-dd格式化日期
int getDaysByTwoDates(Date startDate, Date endDate) 比较两个日期的相隔天数
int getDaysByTwoDates(String startDate, String endDate, String pattern) 比较两个日期的相隔天数
int getDaysByTwoDates(String startDate, String startPattern, String endDate, String endPattern) 比较两个日期的相隔天数
int getDaysByTwoDatesDef(String startDate, String endDate) 比较两个日期的相隔天数,使用默认的格式yyyy-MM-dd格式化日期
boolean isLeapYear(int year) 判断是否闰年
boolean isLeapYear(String year) 判断是否闰年
String getYesterday(String date) 获取昨日日期,使用默认的格式yyyy-MM-dd格式化日期
String getYesterday(Date date) 获取昨日日期,使用默认的格式yyyy-MM-dd格式化日期
String getYesterday(String date, String pattern) 获取昨日日期
String getYesterday(Date date, String pattern) 获取昨日日期
String getTomorrow(String date) 获取明日日期,使用默认的格式yyyy-MM-dd格式化日期
String getTomorrow(Date date) 获取明日日期,使用默认的格式yyyy-MM-dd格式化日期
String getTomorrow(String date, String pattern) 获取明日日期
String getTomorrow(Date date, String pattern) 获取明日日期
int getEndMonthOfQuarter(int month) 获取当前月份所在的季末月份
int getEndMonthOfQuarter(String month) 获取当前月份所在的季末月份
String getCurrDateStr() 获取当前日期(机器时间),时间格式:yyyy-MM-dd
String getCurrDateTimeStr() 获取当前时间(机器时间),时间格式:yyyy-MM-dd HH:mm:ss
String getCurrTime() 获取当前时间(机器时间),时间格式:HH:mm:ss
String getTimeStampByPattern(String pattern) 按传入格式获取时间戳
String getCurrStringMonth() 获得当前月转换成字符串显示,如"Jan", "Feb", "Mar"
String getStringMonth(Date date) 获得传入日期月转换成字符串显示,如"Jan", "Feb", "Mar"
String getStringMonth(int month) 获得当前月转换成字符串显示,如"Jan", "Feb", "Mar"
String getStringMonth(String month) 获得当前月转换成字符串显示,如"Jan", "Feb", "Mar"
String bZeroMonth(int month) 返回两位月字符串
String getMonthTotalDays(int year, int month) 返回月的天数
String formatDate8To10(String date) 将日期格式为YYYYMMDD改为YYYY-MM-DD
String formatDate10To8(String date) 将日期格式为YYYY-MM-DD改为YYYYMMDD
String formatDateTime14To19(String date) 将日期格式为YYYYMMDDHHMMSS改为yyyy-MM-dd HH:mm:ss
String formatDateTime19To14(String date) 将日期格式为yyyy-MM-dd HH:mm:ss改为YYYYMMDDHHMMSS
String formatTime6To8(String date) 将时间格式为HHMMSS改为HH:mm:ss
String formatTime8To6(String date) 将时间格式为HH:mm:ss改为HHMMSS
boolean checkDate(String dateStr) 判断传递参数是否为日期类型 true是 false 不是
String getStartDateByMonths(Date endDate, int months) 根据终止日和相隔月数计算起始日,使用默认的格式yyyy-MM-dd格式化日期
String getStartDateByMonths(String endDate, int months) 根据终止日和相隔月数计算起始日,使用默认的格式yyyy-MM-dd格式化日期
String getStartDateByMonths(String endDate, String pattern, int months) 根据终止日和相隔月数计算起始日
Date object2Date(Object object, String pattern) 将对象转换为时间
Date getCurrDate() 获取当前机器时间
Timestamp getCurrTimestamp() 获取当前机器Timestamp

§ DES加解密工具类(cn.com.yusys.yusp.commons.util.DesUtil)

des加解密工具类

返回值 方法 方法描述
byte[] encryptBytes(byte[] data, byte[] key) 根据键值进行加密
String encrypt(String data, String key) 根据键值进行加密
String decrypt(String data, String key) 根据键值进行解密
byte[] decryptBytes(byte[] data, byte[] key) 根据键值进行解密

§ 文件处理工具类(cn.com.yusys.yusp.commons.util.FileUtil)

文件处理工具类

返回值 方法 方法描述
FileInputStream openInputStream(File file) 根据文件获得一个文件输入流
FileOutputStream openOutputStream(File file) 根据文件获得一个文件输出流
FileOutputStream openOutputStream(File file, boolean append) 根据文件获得一个文件输出流,append是否追加写入
long copyStream(InputStream input, OutputStream output) 从输入流copy到输出流
File openFileDir(String dirPath) 根据路径获得一个文件对象
String readAll(String filePath) 按照文件全路径读取文件中所有的内容,默认为utf-8编码进行读取
String readAll(String filePath, String charsetName) 按照文件全路径读取文件中所有的内容
List<String> readAllLines(String filePath) 按照文件全路径读取文件中所有的内容,默认为utf-8编码进行读取
List<String> readAllLines(String filePath, String charsetName) 按照文件全路径读取文件中所有的内容
void createFile(String filePath) 按照给定路径创建一个文件,如该路径存在,则删除新建
void createFile(Path path) 按照给定路径创建一个文件,如该路径存在,则删除新建
void fileCopy(String srcFilePath, String targetFilePath) 文件copy
String byte2File(byte[] bytes, String filePath) 将指定的字节数组写入的指定路径的文件中,默认为系统编码进行写入
String byte2File(byte[] bytes, String filePath, String charset) 将指定的字节数组写入的指定路径的文件中
boolean isFile(String filePath) 判断路径是否文件
boolean isDirectory(String filePath) 判断路径是否文件夹

§ 主键ID生成工具类(cn.com.yusys.yusp.commons.util.IdUtil)

id生成工具类, 非uuid和数据库方式生成,纯代码生成

返回值 方法 方法描述
String getId() 生成id,存在字符串
String getNumberId() 生成纯数字的id

§ MD5加密工具类(cn.com.yusys.yusp.commons.util.MD5Util)

md5加密工具类

返回值 方法 方法描述
String stringToMD5(String content) MD5加密

§ 数字工具类(cn.com.yusys.yusp.commons.util.NumberUtil)

数字处理相关工具类

返回值 方法 方法描述
byte[] intToBytes(int num) 整形转换成网络传输的字节流(字节数组)型数据,返回4个字节的字节数组
int byteToInt(byte[] bytes) 四个字节的字节数据转换成一个整形数据
byte[] longToBytes(long num) 长整形转换成网络传输的字节流(字节数组)型数据,返回4个字节的字节数组
byte[] byteConvert32Bytes(BigInteger n) 大数字转换字节流(字节数组)型数据
BigInteger byteConvertInteger(byte[] b) 字节流(字节数组)型数据转大数字
String getHexString(byte[] bytes) 根据字节数组获得值(十六进制数字)
String getHexString(byte[] bytes, boolean upperCase) 根据字节数组获得值(十六进制数字)
String byteTohexString(byte[] bytes) 根据字节数组获得值(十六进制数字)
byte[] hexStringToBytes(String hexString) 十六进制数值字符串转字节数组
byte[] hexToByte(String hex) 十六进制串转化为byte数组
byte charToByte(char c) char转byte
char[] encodeHex(byte[] data) 将字节数组转换为十六进制字符数组
char[] encodeHex(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符数组
String encodeHexString(byte[] data) 将字节数组转换为十六进制字符串
String encodeHexString(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符串
String encodeHexString(byte[] data, char[] toDigits) 将字节数组转换为十六进制字符串
byte[] decodeHex(char[] data) 将十六进制字符数组转换为字节数组
String stringToAsciiString(String content) 数字字符串转ASCII码字符串
String hexStringToString(String hexString, int encodeType) 十六进制转字符串,encodeType编码类型4:Unicode,2:普通编码
int hexStringToAlgorism(String hex) 十六进制字符串装十进制
String hexStringToBinary(String hex) 十六转二进制
String asciiStringToString(String content) ASCII码字符串转数字字符串
String algorismToHexString(int algorism, int maxLength) 将十进制转换为指定长度的十六进制字符串
String byteToString(byte[] bytearray) 字节数组转为普通字符串(ASCII对应的字符)
int binaryToAlgorism(String binary) 二进制字符串转十进制
String algorismToHEXString(int algorism) 十进制转换为十六进制字符串
String patchHexString(String str, int maxLength) HEX字符串前补0,主要用于长度位数不足。
int parseToInt(String s, int defaultInt, int radix) 将一个字符串转换为int, radix 要转换的字符串是什么进制的,如16 8 10.
int parseToInt(String s, int defaultInt) 将一个十进制形式的数字字符串转换为int
byte[] subByte(byte[] input, int startIndex, int length) 截取数组
double add(double v1, double v2) 提供精确的加法运算
double sub(double v1, double v2) 提供精确的减法运算
double mul(double v1, double v2) 提供精确的乘法运算
double div(double v1, double v2) 提供(相对)精确的除法运算,当发生除不尽的情况时,精确的小数点以后10位 以后的数字四舍五入
double div(double v1, double v2, int scale) 提供(相对)精确的除法运算 当发生除不尽的情况时,由scale参数指定精度,以后的数字四舍五入
String rmbBig2Small(String money) 大写转换为小写,支持到角分
String rmbSmall2Big(double num) 数字金额小写转大写
boolean isInteger(String str) 判断传递参数是否是int类型
Integer toInteger(String str) 转换为int
Integer toInteger(String str, Integer defVal) 转换为int
Integer toInteger(Object object) 转换为int
Integer toInteger(Object object, Integer defVal) 转换为int
boolean isDouble(String str) 判断传递参数是否是double类型
Double toDouble(String str) 转double
Double toDouble(String str, Double defVal) 转double
Double toDouble(Object object) 转double
Double toDouble(Object object, Double defVal) 转double
String formatAmt(String str) 将金额格式化 如:111111111.1111则转化为:111,111,111.11
String formatAmt(String str, String pattern) 将金额格式化
String formatAmt(Number number) 将金额格式化
String formatAmt(Number number, String pattern) 将金额格式化
boolean isOddNumber(int a) 奇数判断 是奇数返回true, 偶数返回false
boolean isEvenNumber(int a) 偶数判断 是偶数返回true, 偶数返回false
int getAverageValue(int x, int y) 获取平均值
boolean is2NSquare(int x) 判断是否为2的n次方
boolean isBigDecimal(String str) 是否为BigDecimal
BigDecimal toBigDecimal(String str) 字符串转化为bigDecimal类型,如果字符串为空或null,则返回null
BigDecimal toBigDecimal(String str, BigDecimal defVal) 字符串转化为bigDecimal类型,如果字符串为空或null,则返回默认值
BigDecimal toBigDecimal(String str, String defVal) 字符串转化为bigDecimal类型,如果字符串为空或null,则返回null
BigDecimal toBigDecimal(String str, Number defVal) 字符串转化为bigDecimal类型,如果字符串为空或null,则返回null
boolean isNumeric(String str) 判断是否为数字
boolean isFloat(String str) 字符串是否为Float类型
Float toFloat(String str) 转Float
Float toFloat(String str, Float defVal) 转Float
Float toFloat(Object object) 转Float
Float toFloat(Object object, Float defVal) 转Float
BigDecimal divide(Number n1, Number n2, int scale) 数值除法运算

§ 随机字符串工具类(cn.com.yusys.yusp.commons.util.RandomUtil)

返回值 方法 方法描述
String generatePassword() 获得一个随机20位长度的字符串(a-z,A-Z,0-9)
String generateActivationKey() 获得一个随机20位长度的字符串(0-9)
String getRandom(int length) 生成传入长度的随机数

§ RSA加解密工具类(cn.com.yusys.yusp.commons.util.RSAUtils)

返回值 方法 方法描述
Map<String, Object> genKeyPair() 生成密钥对(公钥和私钥)
String sign(byte[] data, String privateKey) 用私钥对信息生成数字签名,privateKey为base64编码
boolean verify(byte[] data, String publicKey, String sign) 校验数字签名
byte[] decryptByPrivateKey(byte[] encryptedData, String privateKey) 私钥解密,privateKey为base64编码
byte[] decryptByPublicKey(byte[] encryptedData, String publicKey) 公钥解密,publicKey为base64编码
byte[] encryptByPublicKey(byte[] data, String publicKey) 公钥加密,publicKey为base64编码
byte[] encryptByPublicKey(byte[] data, String publicKey, String deviceType) 公钥加密,publicKey为base64编码,deviceType类型(IOS还是android)
byte[] encryptByPrivateKey(byte[] data, String privateKey) 私钥加密,privateKey为base64编码
String getPrivateKey(Map<String, Object> keyMap) 获取私钥,返回Base64编码私钥
String getPublicKey(Map<String, Object> keyMap) 获取公钥,返回Base64编码公钥
byte[] decryptByPrivateKey(byte[] data, PrivateKey privateKey) 私钥解密
byte[] decryptByPublicKey(byte[] data, PublicKey publicKey) 公钥解密
byte[] encryptByPrivateKey(byte[] data, PrivateKey privateKey) 私钥加密
byte[] signByPrivateKey(byte[] data, PrivateKey privateKey) 私钥加签
boolean verifyByPublicKey(byte[] data, byte[] signedData, PublicKey publicKey) 公钥验签

§ SpringContext Bean获取工具类(cn.com.yusys.yusp.commons.util.SpringContextUtil)

返回值 方法 方法描述
ApplicationContext getApplicationContext() 获取Spring应用上下文
<T> T getBean(String name) 通过Bean name获取bean
<T> T getBean(Class<T> requiredType) 通过Bean对应的Class类型获取bean

§ 字符串处理工具类(cn.com.yusys.yusp.commons.util.StringUtil)

返回值 方法 方法描述
boolean isEmpty(final CharSequence cs) 判断字符串是否为空
boolean isNotEmpty(final CharSequence cs) 判断字符串是否不为空
boolean isBlank(final CharSequence cs) 判断字符串是否为空 或者为" "
boolean isNotBlank(final CharSequence cs) 判断字符串是否不为空 或者不为" "
boolean isStrEmpty(final CharSequence cs) 判断字符串是否为空或者为null字符串
boolean isStrNotEmpty(final CharSequence cs) 判断字符串是否不为空或者不为null字符串
String substring(String str, int len) 安全的截取字符串
String substring(String str, int startIdx, int len) 安全的截取字符串
String split(String str, String regex) 安全的分割字符串,当传入的str为空时,返回长度为0的字符串
String replaceObjNull(Object object) 将对象转化为字符串, 对象为空返回"", 不为空返回对象的toString方法值
String replaceNullByObj(Object object) 将对象转化为字符串, 对象为空返回"", 不为空返回对象的toString方法值
String concat(String[] strArray, String str) 将字符串数组合并成一个以 str 分隔的字符串, 如果数组中存在null,则该字段不返回
String concat(String[] strArray, String str, boolean isReturnNull) 将字符串数组合并成一个以 str 分隔的字符串, 如果数组中存在null, 根据isReturnNull参数判断是否返回
String concat(Collection<String> collections, String str) 将字符串集合合并成一个以 str 分隔的字符串, 如果数组中存在null,则该字段不返回
String concat(Collection<String> collections, String str, boolean isReturnNull) 将字符串集合合并成一个以 str 分隔的字符串, 如果数组中存在null, 根据isReturnNull参数判断是否返回
String fill(char c, int length) 以指定的字符和长度生成一个该字符的指定长度的字符串。
String fill(CharSequence cs, int length) 以指定的字符和长度生成一个该字符的指定长度的字符串。
String fill(CharSequence cs, int length, boolean isCutout) 以指定的字符和长度生成一个该字符的指定长度的字符串。isCutout 超过长度后是否截取 true截取false不截取
String fill(String source, char c, int len) 填充字符串,源串右对齐
String fill(String source, char c, int len, int align) 填充字符串,源串长度大于或等于所需长度则返回原串,源串长度小于所需长度则按对齐方式填充
String fill(String source, int len) 填充字符串, 源字符串右对齐,填充字符为空格
String fill(String source, int len, int align) 以空格填充字符串,源串长度大于或等于所需长度则返回原串,源串长度小于所需长度则按对齐方式填充
String fill(String source, String str, int length, int align) 填充字符串,源串长度大于或等于所需长度则返回原串,源串长度小于所需长度则按对齐方式填充
boolean equals(String str1, String str2) 判断两字符串是否相等,不忽略大小判断,如果str1和str2均为null,返回true
boolean equals(String str1, String str2, boolean ignoreCase) 判断两字符串是否相等,根据传入的ignoreCase来判断是否忽略大小写判断,如果str1和str2均为null,返回true,ignoreCase true:忽略 false:不忽略
boolean contains(String[], String) 判断字符串数组是否存在传入的字符串,不忽略大小写
boolean contains(String[] strArray, String str, boolean ignoreCase) 判断字符串数组是否存在传入的字符串, 根据ignoreCase参数判断是否忽略大小判断,ignoreCase true:忽略 false:不忽略
boolean contains(Collection<String> collections, String str) 判断字符串集合是否存在传入的字符串,不忽略大小写
boolean contains(Collection<String> collections, String str, boolean ignoreCase) 判断字符串集合是否存在传入的字符串, 根据ignoreCase参数判断是否忽略大小判断,ignoreCase true:忽略 false:不忽略
boolean isDoubleByte(char c) 判断字符是否为双字节字符
boolean isChinese(String str) 判断输入的字符串是否为纯汉字
boolean isNumeric(final CharSequence cs) 判断输入的字符串是否为纯数字
String toFixLength(String str, int length) 返回指定字节长度的字符串,中文默认占2位字符
boolean isLetter(String str) 判断是不是合法字符
boolean isEmail(String email) 判断输入的字符串是否符合Email样式.
String trim(String str) 安全的去除首尾空格
String upperCase(final String str) 转换大写
boolean lowerCase(final String str) 转换小写
String byte2String(byte[] data) 将byte[]数组转换成大写字符串,十六进制:01中文(30 31 D6 D0)转换后为:3031D6D0
String byte2String(byte[] data, boolean lowerCase) 将byte[]数组转换成字符串:显示信息表示不变
String escString2Byte(String strData) 将16进制字符串(带0x和转义字符)转化为字节数组:将十六进制数转化为byte表示,消除字节数组转义字符和0x的字节 如:0x610x620x63\r\naa,转换成:97 98 99 13 10 97 97
String exception2String(Exception e) 获取异常的所有信息
String getBlankStr(char c, int length) 获得指定长度的由指定字符重复组成的字符串
String getBlankStr(int length) 获得指定长度的由空格重复组成的字符串
String getBlankStr(String str, int length) 获得指定长度的由指定字符串重复组成的字符串,若填充字符串为多字节的话,结果字符串长度可能比需要的要长
String getBlankStr(String str, int length, boolean isCutout) 获得指定长度的由指定字符串重复组成的字符串,若填充字符串为多字节的话,isCutout判断是否进行截取
String toString(Object obj) 获取对象的字符串
String getUUID() UUID去连接符转大写
String replaceNRT(String str) 替换\n\t\r
String hump2Underline(String str) 驼峰转下划线 是在一个字符串的每个大写字母前面加一个_ ,字符串的首字母除外 然后把整个串以小写输出 例如:cusId-->cus_id
String underline2Hump(String str) 将""删除,并将""之后的字母改为大写,如:cus_id-->cusId (首位是"_"乎略)
String rightFillZero(int sz) 返回两位数据字串
String stringEncode(String str, String srcCharset, String targetCharset) 字符串转码
Map<String, String> string2Map(String mapStr) 字符串转换为Map对象,如aaa=111,bbb=222字符串
byte[] escapeStringToCharArray(byte[] str) 将特殊字符转义
String camelhumpToUnderline(String str) 将驼峰风格替换为下划线风格
String underlineToCamelhump(String str) 将下划线风格替换为驼峰风格
boolean isUppercaseAlpha(char c) 是否大写
boolean isLowercaseAlpha(char c) 是否小写
char toLowerAscii(char c) 英文大写转小写

§ 3DES加解密工具类(cn.com.yusys.yusp.commons.util.ThreeDESUtil)

返回值 方法 方法描述
byte[] des3EncodeECB(byte[] key, byte[] data) ecb算法加密
byte[] des3DecodeECB(byte[] key, byte[] data) ecb算法解密
byte[] des3EncodeCBC(byte[] key, byte[] keyiv, byte[] data) cbc算法加密
byte[] des3DecodeCBC(byte[] key, byte[] keyiv, byte[] data) cbc算法解密

§ 文件解压缩工具类(cn.com.yusys.yusp.commons.util.ZipUtil)

返回值 方法 方法描述
void zip(String srcPath, String zipPath, String zipFileName) 对文件或文件目录进行压缩.
void unzip(String zipFilePath, String unzipFilePath, boolean includeZipFileName) 解压缩zip包.includeZipFileName解压后的文件保存的路径是否包含压缩文件的文件名。true-包含;false-不包含
最后更新于: 5/5/2022, 6:41:08 PM