16個超級實用的Java工具包

一. org.apache.commons.io.IOUtils

closeQuietly:關閉一個IO流、socket、或者selector且不拋出異常,通常放在finally塊

toString:轉換IO流、 Uri、 byte[]為String

copy:IO流數據複製,從輸入流寫到輸出流中,最大支持2GB

toByteArray:從輸入流、URI獲取byte[]

write:把字節. 字符等寫入輸出流

toInputStream:把字符轉換為輸入流

readLines:從輸入流中讀取多行數據,返回List<string>

copyLarge:同copy,支持2GB以上數據的複製

lineIterator:從輸入流返回一個迭代器,根據參數要求讀取的數據量,全部讀取,如果數據不夠,則失敗

二. org.apache.commons.io.FileUtils

deleteDirectory:刪除文件夾

readFileToString:以字符形式讀取文件內容

deleteQueitly:刪除文件或文件夾且不會拋出異常

copyFile:複製文件

writeStringToFile:把字符寫到目標文件,如果文件不存在,則創建

forceMkdir:強制創建文件夾,如果該文件夾父級目錄不存在,則創建父級

write:把字符寫到指定文件中

listFiles:列舉某個目錄下的文件(根據過濾器)

copyDirectory:複製文件夾

forceDelete:強制刪除文件

三. org.apache.commons.lang.StringUtils

isBlank:字符串是否為空 (trim後判斷)

isEmpty:字符串是否為空 (不trim並判斷)

equals:字符串是否相等

join:合併數組為單一字符串,可傳分隔符

split:分割字符串

EMPTY:返回空字符串

trimToNull:trim後為空字符串則轉換為null

replace:替換字符串

四. org.apache.http.util.EntityUtils

toString:把Entity轉換為字符串

consume:確保Entity中的內容全部被消費。可以看到源碼裡又一次消費了Entity的內容,假如用戶沒有消費,那調用Entity時候將會把它消費掉

toByteArray:把Entity轉換為字節流

consumeQuietly:和consume一樣,但不拋異常

getContentCharset:獲取內容的編碼

五. org.apache.commons.lang3.StringUtils

isBlank:字符串是否為空 (trim後判斷)

isEmpty:字符串是否為空 (不trim並判斷)

equals:字符串是否相等

join:合併數組為單一字符串,可傳分隔符

split:分割字符串

EMPTY:返回空字符串

replace:替換字符串

capitalize:首字符大寫

六. org.apache.commons.io.FilenameUtils

getExtension:返回文件後綴名

getBaseName:返回文件名,不包含後綴名

getName:返回文件全名

concat:按命令行風格組合文件路徑(詳見方法註釋)

removeExtension:刪除後綴名

normalize:使路徑正常化

wildcardMatch:匹配通配符

seperatorToUnix:路徑分隔符改成unix系統格式的,即/

getFullPath:獲取文件路徑,不包括文件名

isExtension:檢查文件後綴名是不是傳入參數(List<string>)中的一個/<string>

七. org.springframework.util.StringUtils

hasText:檢查字符串中是否包含文本

hasLength:檢測字符串是否長度大於0

isEmpty:檢測字符串是否為空(若傳入為對象,則判斷對象是否為null)

commaDelimitedStringToArray:逗號分隔的String轉換為數組

collectionToDelimitedString:把集合轉為CSV格式字符串

replace 替換字符串

delimitedListToStringArray:相當於split

uncapitalize:首字母小寫

collectionToDelimitedCommaString:把集合轉為CSV格式字符串

tokenizeToStringArray:和split基本一樣,但能自動去掉空白的單詞

八. org.apache.commons.lang.ArrayUtils

contains:是否包含某字符串

addAll:添加整個數組

clone:克隆一個數組

isEmpty:是否空數組

add:向數組添加元素

subarray:截取數組

indexOf:查找某個元素的下標

isEquals:比較數組是否相等

toObject:基礎類型數據數組轉換為對應的Object數組

九. org.apache.commons.lang.StringEscapeUtils

參考十五:

org.apache.commons.lang3.StringEscapeUtils

十. org.apache.http.client.utils.URLEncodedUtils

format:格式化參數,返回一個HTTP POST或者HTTP PUT可用application/x-www-form-urlencoded字符串

parse:把String或者URI等轉換為List<namevaluepair>

十一. org.apache.commons.codec.digest.DigestUtils

md5Hex:MD5加密,返回32位字符串

sha1Hex:SHA-1加密

sha256Hex:SHA-256加密

sha512Hex:SHA-512加密

md5:MD5加密,返回16位字符串

十二. org.apache.commons.collections.CollectionUtils

isEmpty:是否為空

select:根據條件篩選集合元素

transform:根據指定方法處理集合元素,類似List的map()

filter:過濾元素,雷瑟List的filter()

find:基本和select一樣

collect:和transform 差不多一樣,但是返回新數組

forAllDo:調用每個元素的指定方法

isEqualCollection:判斷兩個集合是否一致

十三. org.apache.commons.lang3.ArrayUtils

contains:是否包含某個字符串

addAll:添加整個數組

clone:克隆一個數組

isEmpty:是否空數組

add:向數組添加元素

subarray:截取數組

indexOf:查找某個元素的下標

isEquals:比較數組是否相等

toObject:基礎類型數據數組轉換為對應的Object數組

十四. org.apache.commons.beanutils.PropertyUtils

getProperty:獲取對象屬性值

setProperty:設置對象屬性值

getPropertyDiscriptor:獲取屬性描述器

isReadable:檢查屬性是否可訪問

copyProperties:複製屬性值,從一個對象到另一個對象

getPropertyDiscriptors:獲取所有屬性描述器

isWriteable:檢查屬性是否可寫

getPropertyType:獲取對象屬性類型

十五. org.apache.commons.lang3.StringEscapeUtils

unescapeHtml4:轉義html

escapeHtml4:反轉義html

escapeXml:轉義xml

unescapeXml:反轉義xml

escapeJava:轉義unicode編碼

escapeEcmaScript:轉義EcmaScript字符

unescapeJava:反轉義unicode編碼

escapeJson:轉義json字符

escapeXml10:轉義Xml10

這個現在已經廢棄了,建議使用commons-text包裡面的方法。

十六. org.apache.commons.beanutils.BeanUtils

copyPeoperties:複製屬性值,從一個對象到另一個對象

getProperty:獲取對象屬性值

setProperty:設置對象屬性值

populate:根據Map給屬性複製

copyPeoperty:複製單個值,從一個對象到另一個對象

cloneBean:克隆bean實例


分享到:


相關文章: