public class FaceUtilits extends java.lang.Object
Constructor and Description |
---|
FaceUtilits() |
Modifier and Type | Method and Description |
---|---|
static java.net.URI |
createURI(java.lang.String urlStr)
将
URL 字符串转换为URI 对象在转换过程中会将自动对不符合URI规范的字符进行编码, 在转换过程中先从字符串生成 URL 对象,如果String 不能转换成URL对象,则抛出异常 |
static <K,V> boolean |
equals(java.util.Map<K,V> m1,
java.util.Map<K,V> m2)
比较两个Map是否相等
|
static <T> java.nio.ByteBuffer |
getByteBuffer(T src)
将数据对象src转换为
ByteBuffer |
static <T> java.nio.ByteBuffer |
getByteBufferNotEmpty(T src)
|
static <T> byte[] |
getBytes(T src)
将数据对象
src 转换为字节数组(byte[])src 的数据类型可以是byte[],InputStream ,ByteBuffer ,String (base64编码),File ,URL ,URI
否则抛出IllegalArgumentException 对象转换为InputStream或byte[]时,可能会抛出 IOException
当src 为File 或FileInputStream 时,使用NIO方式(readBytes(FileInputStream) )读取 |
static byte[] |
getBytesInBuffer(java.nio.ByteBuffer buffer)
返回buffer中所有字节(position~limit),不改变buffer状态
|
static <T> byte[] |
getBytesNotEmpty(T src)
|
static java.lang.Throwable |
getCause(java.lang.Throwable e) |
static <T> java.io.InputStream |
getInputStream(T src)
将对象转换为InputStream
类型可以是byte[], ByteBuffer ,InputStream ,String (base64编码),File ,URL ,URI ,否则抛出RuntimeException |
static byte[] |
getMD5(byte[] source)
生成MD5校验码
|
static java.nio.ByteBuffer |
getMD5(java.nio.ByteBuffer source)
生成MD5校验码
|
static java.lang.String |
getMD5String(byte[] source)
生成MD5校验码字符串
|
static java.lang.String |
getMD5String(java.nio.ByteBuffer source)
生成MD5校验码字符串
|
static java.lang.Class<?>[] |
getParameterizedType(java.lang.Class<?> clazz)
返回
clazz 泛型超类的参数对象如果超类不是泛型对象,则抛出 IllegalArgumentException |
static java.lang.Class<?>[] |
getParameterizedTypeNoThrow(java.lang.Class<?> clazz)
如果无法获取泛型参数对象,返回null
|
static java.nio.ByteBuffer |
hex2ByteBuffer(java.lang.String src) |
static byte[] |
hex2Bytes(java.lang.String src) |
static byte[] |
readBytes(java.io.FileInputStream fin)
NIO方式从
FileInputStream 读取字节数组结束时会关闭 InputStream |
static byte[] |
readBytes(java.io.InputStream in)
|
static java.io.File |
saveBytes(byte[] data,
java.io.File file,
boolean overwrite)
NIO方式将
data 数据保存在file 指定的文件中如果 file 所在文件夹不存在,则会自动创建所有的文件夹 |
static java.io.File |
saveImage(java.io.InputStream img,
java.io.File folder) |
static java.io.File |
saveImageAutoName(byte[] img,
java.io.File folder)
将图片数据保存在folder指定的文件夹下,文件名用图片的md5校验码命名,自动判断文件后缀
|
static void |
storeSortedMap(java.util.Map<java.lang.String,java.lang.String> map,
java.io.Writer writer,
java.lang.String lineSeparator)
对
Map 中元素以key排序后,每行以{key}={value}形式输出到Writer map为空或null时则不向writer写入任何内容 |
static void |
storeSortedSet(java.util.Collection<java.lang.String> collection,
java.io.Writer writer,
java.lang.String lineSeparator)
对
Collection 中元素排序后(去除重复),元素分行输出到Writer collection为空或null时则不向writer写入任何内容 |
static java.lang.Throwable |
stripThrowableShell(java.lang.Throwable e,
java.lang.Class<? extends java.lang.Throwable> shellClass)
以递归方式返回被
shellClass 多层封装的异常 |
static java.lang.String |
toHex(byte[] buffer)
将16位byte[] 转换为32位的HEX格式的字符串String
|
static java.lang.String |
toHex(java.nio.ByteBuffer buffer) |
boolean |
validHEX(java.lang.String input)
字符串验证器,根据正则表达式判断字符串是否为十六进制(HEX)字符串
输入为null或空或正则表达式不匹配则返回false
|
static boolean |
validMd5(java.lang.String md5)
判断是否为有效的MD5字符串
|
public FaceUtilits()
public static byte[] getMD5(byte[] source)
source
- public static final byte[] getBytesInBuffer(java.nio.ByteBuffer buffer)
buffer
- public static java.nio.ByteBuffer getMD5(java.nio.ByteBuffer source)
source
- getMD5(byte[])
public static java.lang.String toHex(byte[] buffer)
buffer
- public static java.lang.String toHex(java.nio.ByteBuffer buffer)
toHex(byte[])
public boolean validHEX(java.lang.String input)
public static byte[] hex2Bytes(java.lang.String src)
public static java.nio.ByteBuffer hex2ByteBuffer(java.lang.String src)
public static java.lang.String getMD5String(byte[] source)
source
- getMD5(byte[])
,
toHex(byte[])
public static java.lang.String getMD5String(java.nio.ByteBuffer source)
source
- getMD5(byte[])
,
toHex(byte[])
public static final boolean validMd5(java.lang.String md5)
public static byte[] readBytes(java.io.InputStream in) throws java.io.IOException, java.lang.IllegalArgumentException
in
- java.io.IOException
java.lang.IllegalArgumentException
- in
为null
public static byte[] readBytes(java.io.FileInputStream fin) throws java.io.IOException
FileInputStream
读取字节数组InputStream
fin
- FileInputStream
fin
为null时返回null;java.io.IOException
public static <T> java.io.InputStream getInputStream(T src) throws java.io.IOException, java.lang.IllegalArgumentException
ByteBuffer
,InputStream
,String
(base64编码),File
,URL
,URI
,否则抛出RuntimeExceptionsrc
- 获取InputStream的源对象java.io.IOException
java.lang.IllegalArgumentException
- 无法从src
获取InputStream
public static final <T> byte[] getBytes(T src) throws java.io.IOException, java.lang.IllegalArgumentException
src
转换为字节数组(byte[])src
的数据类型可以是byte[],InputStream
,ByteBuffer
,String
(base64编码),File
,URL
,URI
否则抛出IllegalArgumentException
IOException
当src
为File
或FileInputStream
时,使用NIO方式(readBytes(FileInputStream)
)读取src
- 获取byte[]的源对象null
或类型不对则抛出异常java.io.IOException
java.lang.IllegalArgumentException
- src
为null
或无法从src
获取InputStream
readBytes(InputStream)
,
readBytes(FileInputStream)
,
getInputStream(Object)
,
Base64Utils.decode(String)
public static final <T> byte[] getBytesNotEmpty(T src) throws java.io.IOException, java.lang.IllegalArgumentException
src
- java.io.IOException
java.lang.IllegalArgumentException
getBytes(Object)
public static final <T> java.nio.ByteBuffer getByteBuffer(T src) throws java.io.IOException, java.lang.IllegalArgumentException
ByteBuffer
src
- java.io.IOException
java.lang.IllegalArgumentException
getBytes(Object)
public static final <T> java.nio.ByteBuffer getByteBufferNotEmpty(T src) throws java.io.IOException, java.lang.IllegalArgumentException
src
- java.io.IOException
java.lang.IllegalArgumentException
public static java.io.File saveImageAutoName(byte[] img, java.io.File folder) throws java.io.IOException, java.lang.IllegalArgumentException
img
- 图像数据folder
- 文件保存的位置img
中无法获取格式名,则视为无效数据,不保存,返回null;java.io.IOException
- 调用FaceUtilitsX.getFormatName(byte[])
获取图像格式名称出错或其他IO异常java.lang.IllegalArgumentException
- data
为null或空时saveBytes(byte[], File, boolean)
public static java.io.File saveImage(java.io.InputStream img, java.io.File folder) throws java.io.IOException, java.lang.IllegalArgumentException
img
- folder
- 文件保存位置img
中读取的数据为空返回nulljava.io.IOException
- 数据非可识别的图像格式或其他IO异常java.lang.IllegalArgumentException
- img
为nullsaveImageAutoName(byte[], File)
public static java.net.URI createURI(java.lang.String urlStr) throws java.net.MalformedURLException
URL
字符串转换为URI
对象URL
对象,如果String
不能转换成URL对象,则抛出异常urlStr
- java.net.MalformedURLException
public static java.io.File saveBytes(byte[] data, java.io.File file, boolean overwrite) throws java.io.IOException, java.lang.IllegalArgumentException
data
数据保存在file
指定的文件中file
所在文件夹不存在,则会自动创建所有的文件夹data
- file
- 文件保存的位置overwrite
- 同名文件存在时是否覆盖java.io.IOException
- file
存在但不是文件或其他IO异常java.lang.IllegalArgumentException
- data
为null时public static java.lang.Class<?>[] getParameterizedTypeNoThrow(java.lang.Class<?> clazz)
clazz
- getParameterizedType(Class)
public static java.lang.Class<?>[] getParameterizedType(java.lang.Class<?> clazz) throws java.lang.reflect.MalformedParameterizedTypeException, java.lang.IllegalArgumentException
clazz
泛型超类的参数对象IllegalArgumentException
clazz
- java.lang.reflect.MalformedParameterizedTypeException
- 超类不是泛型类java.lang.IllegalArgumentException
- 无法获取实际泛型参数对象类型public static final java.lang.Throwable getCause(java.lang.Throwable e)
public static final java.lang.Throwable stripThrowableShell(java.lang.Throwable e, java.lang.Class<? extends java.lang.Throwable> shellClass)
shellClass
多层封装的异常e
- shellClass
- 封装异常的类public static void storeSortedMap(java.util.Map<java.lang.String,java.lang.String> map, java.io.Writer writer, java.lang.String lineSeparator) throws java.io.IOException
Map
中元素以key排序后,每行以{key}={value}形式输出到Writer
map
- writer
- 为null抛出IllegalArgumentException
lineSeparator
- 换行符,为null则使用系统默认的换行符(windows \n linux \r\n)java.io.IOException
public static void storeSortedSet(java.util.Collection<java.lang.String> collection, java.io.Writer writer, java.lang.String lineSeparator) throws java.io.IOException
Collection
中元素排序后(去除重复),元素分行输出到Writer
collection
- writer
- 为null抛出IllegalArgumentException
lineSeparator
- 换行符,为null则使用系统默认的换行符(windows \n linux \r\n)java.io.IOException
public static <K,V> boolean equals(java.util.Map<K,V> m1, java.util.Map<K,V> m2)
m1
- m2
- Copyright © 2019. All rights reserved.