§ 本文目标
通过该章节,了解到框架本身封装的工具类提供的方法
§ 练习场景
无
§ 工具类
§ 启动信息工具类(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-不包含 |