tool class
在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源于Github上隨機選取的5萬個開源項目源碼。
一. 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中的內容全部被消費??梢钥吹皆创a里又一次消費了Entity的內容,假如用戶沒有消費,那調用Entity時候將會把它消費掉; toByteArray:把Entity轉換為字節流; consumeQuietly:和consume一樣,但不拋異常; getContentCharset:獲取內容的編碼。五. org.apache.commons.lang3.StringUtils
http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html
isBlank:字符串是否為空 (trim后判斷); isEmpty:字符串是否為空 (不trim并判斷); equals:字符串是否相等; join:合并數組為單一字符串,可傳分隔符; split:分割字符串; EMPTY:返回空字符串; replace:替換字符串; capitalize:首字符大寫。contains:字符串包含
replace:字符串替換匹配
說明:contains和replace在使用的時候盡量少用jdk提供的,因為如果原始字符串為空會報空指針,而org.apache.commons.lang3.StringUtils封裝的對空進行了處理很好用。
六. org.apache.commons.io.FilenameUtils
getExtension:返回文件后綴名; getBaseName:返回文件名,不包含后綴名; getName:返回文件全名; concat:按命令行風格組合文件路徑(詳見方法注釋); removeExtension:刪除后綴名; normalize:使路徑正?;?#xff1b; wildcardMatch:匹配通配符; seperatorToUnix:路徑分隔符改成unix系統格式的,即/; getFullPath:獲取文件路徑,不包括文件名; isExtension:檢查文件后綴名是不是傳入參數(List<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實例。你就不必要再自己寫工具類了,不必重復造輪子。大部分工具類方法通過其名字就能明白其用途,如果不清楚的,可以看下別人是怎么用的,或者去網上查詢其用法。
另外,工具類,根據阿里開發手冊,包名如果要使用util不能帶s,工具類命名為 XxxUtils。
以上內容是今日頭條的總結:https://www.toutiao.com/i6626299915926553095/?tt_from=weixin&utm_campaign=client_share&wxshare_count=2&from=singlemessage×tamp=1543403189&app=news_article&utm_source=weixin&isappinstalled=0&iid=44116567907&utm_medium=toutiao_ios&group_id=6626299915926553095&pbid=6582516852424525320
在這里,個人也將繼續追加平時工作中的一些不錯的工具類進行記錄。
十七.commons-lang3中的DateUtils
十八.guava中的com.goole.common.base.Preconditions
checkArgument:條件驗證?
?
?
?
?
?
轉載于:https://www.cnblogs.com/wynjauu/p/10034012.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的tool class的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 4103 [Thusc 201
- 下一篇: 201甲基硅油标准更新了。之前的还能用么