文章目錄
- 1.FileCopyUtils
- 1.1 輸入
- 1.2 輸出
- 2.ResourceUtils
- 2.1 從資源路徑擷取檔案
- 2.2 擷取Resource
- 3.StreamUtils
- 3.1 輸入
- 3.2 輸出
- 4.AopUtils
- 4.1 判斷代理類型
- 4.2 擷取被代理對象的 class
- 5.AopContext
- 6.ObjectUtils
- 6.1 擷取對象的基本資訊
- 6.2 判斷工具
1.FileCopyUtils
org.springframework.util
1.1 輸入
// 從檔案中讀入到位元組數組中
byte[] copyToByteArray(File in)
// 從輸入流中讀入到位元組數組中
byte[] copyToByteArray(InputStream in)
// 從輸入流中讀入到字元串中
String copyToString(Reader in)
1.2 輸出
// 從位元組數組到檔案
void copy(byte[] in, File out)
// 從檔案到檔案
int copy(File in, File out)
// 從位元組數組到輸出流
void copy(byte[] in, OutputStream out)
// 從輸入流到輸出流
int copy(InputStream in, OutputStream out)
// 從輸入流到輸出流
int copy(Reader in, Writer out)
// 從字元串到輸出流
void copy(String in, Writer out)
2.ResourceUtils
org.springframework.util
2.1 從資源路徑擷取檔案
// 判斷字元串是否是一個合法的 URL 字元串。
static boolean isUrl(String resourceLocation)
// 擷取 URL
static URL getURL(String resourceLocation)
// 擷取檔案(在 JAR 包内無法正常使用,需要是一個獨立的檔案)
static File getFile(String resourceLocation)
2.2 擷取Resource
// 判斷資源是否存在
boolean exists()
// 從資源中獲得 File 對象
File getFile()
// 從資源中獲得 URI 對象
URI getURI()
// 從資源中獲得 URI 對象
URL getURL()
// 獲得資源的 InputStream
InputStream getInputStream()
// 獲得資源的描述資訊
String getDescription()
3.StreamUtils
3.1 輸入
void copy(byte[] in, OutputStream out)
int copy(InputStream in, OutputStream out)
void copy(String in, Charset charset, OutputStream out)
long copyRange(InputStream in, OutputStream out, long start, long end)
3.2 輸出
byte[] copyToByteArray(InputStream in)
String copyToString(InputStream in, Charset charset)
// 舍棄輸入流中的内容
int drain(InputStream in)
4.AopUtils
4.1 判斷代理類型
// 判斷是不是 Spring 代理對象
boolean isAopProxy()
// 判斷是不是 jdk 動态代理對象
isJdkDynamicProxy()
// 判斷是不是 CGLIB 代理對象
boolean isCglibProxy()
4.2 擷取被代理對象的 class
// 擷取被代理的目标 class
Class<?> getTargetClass()
5.AopContext
Object currentProxy()
6.ObjectUtils
6.1 擷取對象的基本資訊
// 擷取對象的類名。參數為 null 時,傳回字元串:"null"
String nullSafeClassName(Object obj)
// 參數為 null 時,傳回 0
int nullSafeHashCode(Object object)
// 參數為 null 時,傳回字元串:"null"
String nullSafeToString(boolean[] array)
// 擷取對象 HashCode(十六進制形式字元串)。參數為 null 時,傳回 0
String getIdentityHexString(Object obj)
// 擷取對象的類名和 HashCode。 參數為 null 時,傳回字元串:""
String identityToString(Object obj)
// 相當于 toString()方法,但參數為 null 時,傳回字元串:""
String getDisplayString(Object obj)
6.2 判斷工具
// 判斷數組是否為空
boolean isEmpty(Object[] array)
// 判斷參數對象是否是數組
boolean isArray(Object obj)
// 判斷數組中是否包含指定元素
boolean containsElement(Object[] array, Object element)
// 相等,或同為 null時,傳回 true
boolean nullSafeEquals(Object o1, Object o2)
/*
判斷參數對象是否為空,判斷标準為:
Optional: Optional.empty()
Array: length == 0
CharSequence: length == 0
Collection: Collection.isEmpty()
Map: Map.isEmpty()
*/
boolean isEmpty(Object obj)