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}形式输出到Writermap为空或null时则不向writer写入任何内容 |
static void |
storeSortedSet(java.util.Collection<java.lang.String> collection,
java.io.Writer writer,
java.lang.String lineSeparator)
对
Collection中元素排序后(去除重复),元素分行输出到Writercollection为空或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.IOExceptionjava.lang.IllegalArgumentException - in为nullpublic static byte[] readBytes(java.io.FileInputStream fin) throws java.io.IOException
FileInputStream读取字节数组InputStreamfin - FileInputStreamfin为null时返回null;java.io.IOExceptionpublic 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.IOExceptionjava.lang.IllegalArgumentException - 无法从src获取InputStreampublic 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
否则抛出IllegalArgumentExceptionIOException
当src为File或FileInputStream时,使用NIO方式(readBytes(FileInputStream))读取src - 获取byte[]的源对象null或类型不对则抛出异常java.io.IOExceptionjava.lang.IllegalArgumentException - src为null或无法从src获取InputStreamreadBytes(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.IOExceptionjava.lang.IllegalArgumentExceptiongetBytes(Object)public static final <T> java.nio.ByteBuffer getByteBuffer(T src) throws java.io.IOException, java.lang.IllegalArgumentException
ByteBuffersrc - java.io.IOExceptionjava.lang.IllegalArgumentExceptiongetBytes(Object)public static final <T> java.nio.ByteBuffer getByteBufferNotEmpty(T src) throws java.io.IOException, java.lang.IllegalArgumentException
src - java.io.IOExceptionjava.lang.IllegalArgumentExceptionpublic 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.MalformedURLExceptionpublic 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泛型超类的参数对象IllegalArgumentExceptionclazz - 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}形式输出到Writermap - writer - 为null抛出IllegalArgumentExceptionlineSeparator - 换行符,为null则使用系统默认的换行符(windows \n linux \r\n)java.io.IOExceptionpublic static void storeSortedSet(java.util.Collection<java.lang.String> collection, java.io.Writer writer, java.lang.String lineSeparator) throws java.io.IOException
Collection中元素排序后(去除重复),元素分行输出到Writercollection - writer - 为null抛出IllegalArgumentExceptionlineSeparator - 换行符,为null则使用系统默认的换行符(windows \n linux \r\n)java.io.IOExceptionpublic static <K,V> boolean equals(java.util.Map<K,V> m1, java.util.Map<K,V> m2)
m1 - m2 - Copyright © 2019. All rights reserved.