原文:http://weigang-gao.iteye.com/blog/2188739html
ArrayUtils – 用於對數組的操做,如添加、查找、刪除、子數組、倒序、元素類型轉換等;java
BitField – 用於操做位元,提供了一些方便而安全的方法;git
BooleanUtils – 用於操做和轉換boolean或者Boolean及相應的數組;apache
CharEncoding – 包含了Java環境支持的字符編碼,提供是否支持某種編碼的判斷;api
CharRange – 用於設定字符範圍並作相應檢查;數組
CharSet – 用於設定一組字符做爲範圍並作相應檢查;安全
CharSetUtils – 用於操做CharSet;dom
CharUtils – 用於操做char值和Character對象;ide
ClassUtils – 用於對Java類的操做,不使用反射;測試
ObjectUtils – 用於操做Java對象,提供null安全的訪問和其餘一些功能;
RandomStringUtils – 用於生成隨機的字符串;
SerializationUtils – 用於處理對象序列化,提供比通常Java序列化更高級的處理能力;
StringEscapeUtils – 用於正確處理轉義字符,產生正確的Java、JavaScript、HTML、XML和SQL代碼;
StringUtils – 處理String的核心類,提供了至關多的功能;
SystemUtils – 在java.lang.System基礎上提供更方便的訪問,如用戶路徑、Java版本、時區、操做系統等判斷;
Validate – 提供驗證的操做,有點相似assert斷言;
WordUtils – 用於處理單詞大小寫、換行等。
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Reader; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.Iterator; import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.fileupload.util.Closeable; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.CharSetUtils; import org.apache.commons.lang3.ClassUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.StopWatch; public class TestStr { public static void Commons(){ //null 和 ""操做~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //判斷是否Null 或者 "" System.out.println(StringUtils.isEmpty(null)); //System.out.println(StringUtils.isNotEmpty(null)); //判斷是否null 或者 "" 去空格~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println(StringUtils.isBlank(" ")); System.out.println(StringUtils.isNotBlank(null)); //去空格.Null返回null~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println(StringUtils.trim(null)); //去空格,將Null和"" 轉換爲Null System.out.println(StringUtils.trimToNull("")); //去空格,將NULL 和 "" 轉換爲"" System.out.println(StringUtils.trimToEmpty(null)); //多是對特殊空格符號去除?? System.out.println(StringUtils.strip("你們好 啊 \t")); //同上,將""和null轉換爲Null System.out.println(StringUtils.stripToNull(" \t")); //同上,將""和null轉換爲"" System.out.println(StringUtils.stripToEmpty(null)); //將""或者Null 轉換爲 "" System.out.println(StringUtils.defaultString(null)); //僅當字符串爲Null時 轉換爲指定的字符串(二參數) System.out.println(StringUtils.defaultString("", "df")); //當字符串爲null或者""時,轉換爲指定的字符串(二參數) System.out.println(StringUtils.defaultIfEmpty(null, "sos")); //去空格.去字符~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //若是第二個參數爲null去空格(不然去掉字符串2邊同樣的字符,到不同爲止) System.out.println(StringUtils.strip("fsfsdf", "f")); //若是第二個參數爲null只去前面空格(不然去掉字符串前面同樣的字符,到不同爲止) System.out.println(StringUtils.stripStart("ddsuuu ", "d")); //若是第二個參數爲null只去後面空格,(不然去掉字符串後面同樣的字符,到不同爲止) System.out.println(StringUtils.stripEnd("dabads", "das")); //對數組沒個字符串進行去空格。 ArrayToList(StringUtils.stripAll(new String[]{" 中華 ", "民 國 ", "共和 "})); //若是第二個參數爲null.對數組每一個字符串進行去空格。(不然去掉數組每一個元素開始和結尾同樣的字符) ArrayToList(StringUtils.stripAll(new String[]{" 中華 ", "民 國", "國共和國"}, "國")); //查找,判斷~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //判斷2個字符串是否相等相等,Null也相等 System.out.println(StringUtils.equals(null, null)); //不區分大小寫比較 System.out.println(StringUtils.equalsIgnoreCase("abc", "ABc")); //查找,不知道怎麼弄這麼多查找,不少不知道區別在哪?費勁~~~~~~~~~~~~~~~~~~~ //普通查找字符,若是一參數爲null或者""返回-1 System.out.println(StringUtils.indexOf(null, "a")); //從指定位置(三參數)開始查找,本例從第2個字符開始查找k字符 System.out.println(StringUtils.indexOf("akfekcd中華", "k", 2)); //未發現不一樣之處 System.out.println(StringUtils.ordinalIndexOf("akfekcd中華", "k", 2)); //查找,不區分大小寫 System.out.println(StringUtils.indexOfIgnoreCase("adfs", "D")); //從指定位置(三參數)開始查找,不區分大小寫 System.out.println(StringUtils.indexOfIgnoreCase("adfs", "a", 3)); //從後往前查找 System.out.println(StringUtils.lastIndexOf("adfas", "a")); //未理解,此結果爲2 System.out.println(StringUtils.lastIndexOf("d餓abasdafs我", "a", 3)); //未解,此結果爲-1 System.out.println(StringUtils.lastOrdinalIndexOf("yksdfdht", "f", 2)); //從後往前查,不區分大小寫 System.out.println(StringUtils.lastIndexOfIgnoreCase("sdffet", "E")); //未解,此結果爲1 System.out.println(StringUtils.lastIndexOfIgnoreCase("efefrfs看", "F" , 2)); //檢查是否查到,返回boolean,null返回假 System.out.println(StringUtils.contains("sdf", "dg")); //檢查是否查到,返回boolean,null返回假,不區分大小寫 System.out.println(StringUtils.containsIgnoreCase("sdf", "D")); //檢查是否有含有空格,返回boolean System.out.println(StringUtils.containsWhitespace(" d")); //查詢字符串跟數組任一元素相同的第一次相同的位置 System.out.println(StringUtils.indexOfAny("absfekf", new String[]{"f", "b"})); //查詢字符串中指定字符串(參數二)出現的次數 System.out.println(StringUtils.indexOfAny("afefes", "e")); //查找字符串中是否有字符數組中相同的字符,返回boolean System.out.println(StringUtils.containsAny("asfsd", new char[]{'k', 'e', 's'})); //未理解與lastIndexOf不一樣之處。是否查到,返回boolean System.out.println(StringUtils.containsAny("啡f咖啡", "咖")); //未解 System.out.println(StringUtils.indexOfAnyBut("seefaff", "af")); //判斷字符串中全部字符,都是出自參數二中。 System.out.println(StringUtils.containsOnly("中華華", "華")); //判斷字符串中全部字符,都是出自參數二的數組中。 System.out.println(StringUtils.containsOnly("中華中", new char[]{'中', '華'})); //判斷字符串中全部字符,都不在參數二中。 System.out.println(StringUtils.containsNone("中華華", "國")); //判斷字符串中全部字符,都不在參數二的數組中。 System.out.println(StringUtils.containsNone("中華中", new char[]{'中', '達'})); //從後往前查找字符串中與字符數組中相同的元素第一次出現的位置。本例爲4 System.out.println(StringUtils.lastIndexOfAny("中國人民共和國", new String[]{"國人", "共和"})); //未發現與indexOfAny不一樣之處 查詢字符串中指定字符串(參數二)出現的次數 System.out.println(StringUtils.countMatches("中國人民共和中國", "中國")); //檢查是否CharSequence的只包含Unicode的字母。空將返回false。 //一個空的CharSequence(長()= 0)將返回true System.out.println(StringUtils.isAlpha("這是幹什麼的2")); //檢查是否只包含Unicode的CharSequence的字母和空格('')。 //空將返回一個空的CharSequence假(長()= 0)將返回true。 System.out.println(StringUtils.isAlphaSpace("NBA直播 ")); //檢查是否只包含Unicode的CharSequence的字母或數字。空將返回false。 //一個空的CharSequence(長()= 0)將返回true。 System.out.println(StringUtils.isAlphanumeric("NBA直播")); //若是檢查的Unicode CharSequence的只包含字母,數字或空格('')。 //空將返回false。一個空的CharSequence(長()= 0)將返回true。 System.out.println(StringUtils.isAlphanumericSpace("NBA直播")); //檢查是否只包含ASCII可CharSequence的字符。空將返回false。 //一個空的CharSequence(長()= 0)將返回true。 System.out.println(StringUtils.isAsciiPrintable("NBA直播")); //檢查是否只包含數值。 System.out.println(StringUtils.isNumeric("NBA直播")); //檢查是否只包含數值或者空格 System.out.println(StringUtils.isNumericSpace("33 545")); //檢查是否只是空格或""。 System.out.println(StringUtils.isWhitespace(" ")); //檢查是否全是英文小寫。 System.out.println(StringUtils.isAllLowerCase("kjk33")); //檢查是否全是英文大寫。 System.out.println(StringUtils.isAllUpperCase("KJKJ")); //交集操做~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //去掉參數2字符串中在參數一中開頭部分共有的部分,結果爲:人民共和加油 System.out.println(StringUtils.difference("中國加油", "中國人民共和加油")); //統計2個字符串開始部分共有的字符個數 System.out.println(StringUtils.indexOfDifference("ww.taobao", "www.taobao.com")); //統計數組中各個元素的字符串開始都同樣的字符個數 System.out.println(StringUtils.indexOfDifference(new String[] {"中國加油", "中國共和", "中國人民"})); //取數組每一個元素共同的部分字符串 System.out.println(StringUtils.getCommonPrefix(new String[] {"中國加油", "中國共和", "中國人民"})); //統計參數一中每一個字符與參數二中每一個字符不一樣部分的字符個數 System.out.println(StringUtils.getLevenshteinDistance("中國共和發國人民", "共和國")); //判斷開始部分是否與二參數相同 System.out.println(StringUtils.startsWith("中國共和國人民", "中國")); //判斷開始部分是否與二參數相同。不區分大小寫 System.out.println(StringUtils.startsWithIgnoreCase("中國共和國人民", "中國")); //判斷字符串開始部分是否與數組中的某一元素相同 System.out.println(StringUtils.startsWithAny("abef", new String[]{"ge", "af", "ab"})); //判斷結尾是否相同 System.out.println(StringUtils.endsWith("abcdef", "def")); //判斷結尾是否相同,不區分大小寫 System.out.println(StringUtils.endsWithIgnoreCase("abcdef", "Def")); //字符串截取~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //截取指定位置的字符,null返回null.""返回"" System.out.println(StringUtils.substring("中國人民", 2)); //截取指定區間的字符 System.out.println(StringUtils.substring("中國人民共和國", 2, 4)); //從左截取指定長度的字符串 System.out.println(StringUtils.left("說點什麼好呢", 3)); //從右截取指定長度的字符串 System.out.println(StringUtils.right("說點什麼好呢", 3)); //從第幾個開始截取,三參數表示截取的長度 System.out.println(StringUtils.mid("說點什麼好呢", 3, 2)); //截取到等於第二個參數的字符串爲止 System.out.println(StringUtils.substringBefore("說點什麼好呢", "好")); //從左往右查到相等的字符開始,保留後邊的,不包含等於的字符。本例:什麼好呢 System.out.println(StringUtils.substringAfter("說點什麼好呢", "點")); //這個也是截取到相等的字符,可是是從右往左.本例結果:說點什麼好 System.out.println(StringUtils.substringBeforeLast("說點什麼好點呢", "點")); //這個截取同上是從右往左。可是保留右邊的字符 System.out.println(StringUtils.substringAfterLast("說點什麼好點呢?", "點")); //截取查找到第一次的位置,和第二次的位置中間的字符。若是沒找到第二個返回null。本例結果:2010世界盃在 System.out.println(StringUtils.substringBetween("南非2010世界盃在南非,在南非", "南非")); //返回參數二和參數三中間的字符串,返回數組形式 ArrayToList(StringUtils.substringsBetween("[a][b][c]", "[", "]")); //分割~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //用空格分割成數組,null爲null ArrayToList(StringUtils.split("中華 人民 共和")); //以指定字符分割成數組 ArrayToList(StringUtils.split("中華 ,人民,共和", ",")); //以指定字符分割成數組,第三個參數表示分隔成數組的長度,若是爲0全體分割 ArrayToList(StringUtils.split("中華 :人民:共和", ":", 2)); //未發現不一樣的地方,指定字符分割成數組 ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-")); //未發現不一樣的地方,以指定字符分割成數組,第三個參數表示分隔成數組的長度 ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2)); //分割,但" "不會被忽略算一個元素,二參數爲null默認爲空格分隔 ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens(" ab de fg ", null)); //同上,分割," "不會被忽略算一個元素。第三個參數表明分割的數組長度。 ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens("ab de fg", null, 3)); //未發現不一樣地方,分割 ArrayToList(StringUtils.splitPreserveAllTokens(" ab de fg ")); //未發現不一樣地方,指定字符分割成數組 ArrayToList(StringUtils.splitPreserveAllTokens(" ab de fg ", null)); //未發現不一樣地方,以指定字符分割成數組,第三個參數表示分隔成數組的長度 ArrayToList(StringUtils.splitPreserveAllTokens(" ab de fg ", null, 2)); //以不一樣類型進行分隔 ArrayToList(StringUtils.splitByCharacterType("AEkjKr i39:。中文")); //未解 ArrayToList(StringUtils.splitByCharacterTypeCamelCase("ASFSRules234")); //拼接~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //也是拼接。未發現區別 System.out.println(StringUtils.join(getArrayData())); //用鏈接符拼接,爲發現區別 System.out.println(StringUtils.join(getArrayData(), ":")); //拼接指定數組下標的開始(三參數)和結束(四參數,不包含)的中間這些元素,用鏈接符鏈接 System.out.println(StringUtils.join(getArrayData(), ":", 1, 3)); //用於集合鏈接字符串.用於集合 System.out.println(StringUtils.join(getListData(), ":")); //移除,刪除~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //刪除全部空格符 System.out.println(StringUtils.deleteWhitespace(" s 中 你 4j")); //移除開始部分的相同的字符 System.out.println(StringUtils.removeStart("www.baidu.com", "www.")); //移除開始部分的相同的字符,不區分大小寫 System.out.println(StringUtils.removeStartIgnoreCase("www.baidu.com", "WWW")); //移除後面相同的部分 System.out.println(StringUtils.removeEnd("www.baidu.com", ".com")); //移除後面相同的部分,不區分大小寫 System.out.println(StringUtils.removeEndIgnoreCase("www.baidu.com", ".COM")); //移除全部相同的部分 System.out.println(StringUtils.remove("www.baidu.com/baidu", "bai")); //移除結尾字符爲"\n", "\r", 或者 "\r\n". System.out.println(StringUtils.chomp("abcrabc\r")); //也是移除,未解。去結尾相同字符 System.out.println(StringUtils.chomp("baidu.com", "com")); //去掉末尾最後一個字符.若是是"\n", "\r", 或者 "\r\n"也去除 System.out.println(StringUtils.chop("wwe.baidu")); //替換~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //替換指定的字符,只替換第一次出現的 System.out.println(StringUtils.replaceOnce("www.baidu.com/baidu", "baidu", "hao123")); //替換全部出現過的字符 System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123")); //也是替換,最後一個參數表示替換幾個 System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123", 1)); //這個有意識,二三參數對應的數組,查找二參數數組同樣的值,替換三參數對應數組的值。 //本例:baidu替換爲taobao。com替換爲net System.out.println(StringUtils.replaceEach("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})); //同上,未發現不一樣 System.out.println(StringUtils.replaceEachRepeatedly("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})); //這個更好,不是數組對應,是字符串參數二和參數三對應替換.(二三參數不對應的話,本身看後果) System.out.println(StringUtils.replaceChars("www.baidu.com", "bdm", "qo")); //替換指定開始(參數三)和結束(參數四)中間的全部字符 System.out.println(StringUtils.overlay("www.baidu.com", "hao123", 4, 9)); //添加,增長~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //複製參數一的字符串,參數二爲複製的次數 System.out.println(StringUtils.repeat("ba", 3)); //複製參數一的字符串,參數三爲複製的次數。參數二爲複製字符串中間的鏈接字符串 System.out.println(StringUtils.repeat("ab", "ou", 3)); //如何字符串長度小於參數二的值,末尾加空格補全。(小於字符串長度不處理返回) System.out.println(StringUtils.rightPad("海川", 4)); //字符串長度小於二參數,末尾用參數三補上,多於的截取(截取補上的字符串) System.out.println(StringUtils.rightPad("海川", 4, "河流啊")); //同上在前面補全空格 System.out.println(StringUtils.leftPad("海川", 4)); //字符串長度小於二參數,前面用參數三補上,多於的截取(截取補上的字符串) System.out.println(StringUtils.leftPad("海川", 4, "你們好")); //字符串長度小於二參數。在兩側用空格平均補全(測試後面補空格優先) System.out.println(StringUtils.center("海川", 3)); //字符串長度小於二參數。在兩側用三參數的字符串平均補全(測試後面補空格優先) System.out.println(StringUtils.center("海川", 5, "流")); //只顯示指定數量(二參數)的字符,後面以三個點補充(參數一截取+三個點=二參數) System.out.println(StringUtils.abbreviate("中華人民共和國", 5)); //2頭加點這個有點亂。本例結果: ...ijklmno System.out.println(StringUtils.abbreviate("abcdefghijklmno", 12, 10)); //保留指定長度,最後一個字符前加點.本例結果: ab.f System.out.println(StringUtils.abbreviateMiddle("abcdef", ".", 4)); //轉換,刷選~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //轉換第一個字符爲大寫.如何第一個字符是大寫原始返回 System.out.println(StringUtils.capitalize("Ddf")); //轉換第一個字符爲大寫.如何第一個字符是大寫原始返回 System.out.println(StringUtils.uncapitalize("DTf")); //反向轉換,大寫變小寫,小寫變大寫 System.out.println(StringUtils.swapCase("I am JianNanCun, Hello")); //將字符串倒序排列 System.out.println(StringUtils.reverse("中國人民")); //根據特定字符(二參數)分隔進行反轉 System.out.println(StringUtils.reverseDelimited("中:國:人民", ':')); //計算字符串中包含某字符數. System.out.println(CharSetUtils.count( "The quick brown fox jumps over the lazy dog.", "aeiou")); //刪除字符串中某字符 System.out.println(CharSetUtils.delete( "The quick brown fox jumps over the lazy dog.", "aeiou")); //保留字符串中某字符 System.out.println(CharSetUtils.keep( "The quick brown fox jumps over the lazy dog.", "aeiou")); //合併重複的字符. System.out.println(CharSetUtils.squeeze("a bbbbbb c dd", "b d")); //Object爲null時,默認打印某字符. Object obj = null; System.out.println(ObjectUtils.defaultIfNull(obj, "空")); //驗證兩個引用是否指向的Object是否相等,取決於Object的equals()方法. Object a = new Object(); Object b = a; Object c = new Object(); System.out.println(ObjectUtils.equals(a, b)); System.out.println(ObjectUtils.equals(a, c)); //用父類Object的toString()方法返回對象信息. Date date = new Date(); System.out.println(ObjectUtils.identityToString(date)); System.out.println(date); //返回類自己的toString()方法結果,對象爲null時,返回0長度字符串. System.out.println(ObjectUtils.toString(date)); System.out.println(ObjectUtils.toString(null)); System.out.println(date); //生成指定長度的隨機字符串,好像沒什麼用. System.out.println(RandomStringUtils.random(500)); //在指定字符串中生成長度爲n的隨機字符串. System.out.println(RandomStringUtils.random(5, "abcdefghijk")); //指定從字符或數字中生成隨機字符串. System.out.println(RandomStringUtils.random(5, true, false)); System.out.println(RandomStringUtils.random(5, false, true)); //獲取類實現的全部接口. System.out.println(ClassUtils.getAllInterfaces(Date.class)); //獲取類全部父類. System.out.println(ClassUtils.getAllSuperclasses(Date.class)); //獲取簡單類名. System.out.println(ClassUtils.getShortClassName(Date.class)); //獲取包名. System.out.println(ClassUtils.getPackageName(Date.class)); //判斷是否能夠轉型. System.out.println(ClassUtils.isAssignable(Date.class, Object.class)); System.out.println(ClassUtils.isAssignable(Object.class, Date.class)); //轉換特殊字符. System.out.println("html:" + StringEscapeUtils.escapeHtml4(" <html>")); System.out.println("html:"+ StringEscapeUtils.unescapeEcmaScript(" ")); //從數組中選出最大值. System.out.println(NumberUtils.max(new int[] { 1, 2, 3, 4 })); //判斷字符串是否全是整數. System.out.println(NumberUtils.isDigits("123.1")); //判斷字符串是不是有效數字. System.out.println(NumberUtils.isNumber("0123.1")); //格式化日期輸出. System.out.println(DateFormatUtils.format(new Date(), "yyyy-MM-dd")); System.out.println(DateFormatUtils.format(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss")); //秒錶. StopWatch sw = new StopWatch(); sw.start(); for (Iterator iterator = DateUtils.iterator(new Date(), DateUtils.RANGE_WEEK_CENTER); iterator.hasNext();) { Calendar cal = (Calendar) iterator.next(); System.out.println(DateFormatUtils.format(cal.getTime(), "yy-MM-dd HH:mm")); } sw.stop(); System.out.println("秒錶計時:" + sw.getTime()); } //將數組轉換爲List private static void ArrayToList(String[] str){ System.out.println(Arrays.asList(str) + " 長度:" + str.length); } //得到集合數據 private static List getListData(){ List list = new ArrayList(); list.add("1"); list.add(null); list.add("2"); list.add("3"); return list; } //得到數組數據 private static String[] getArrayData(){ return (String[]) getListData().toArray(new String[0]); } // 集合並集 public static Collection<?> union(Collection<?> a, Collection<?> b) { return CollectionUtils.union(a, b); } // 集合交集 public static Collection<?> intersection(Collection<?> a, Collection<?> b) { return CollectionUtils.intersection(a, b); } // 交集的補集 public static Collection<?> disjunction(Collection<?> a, Collection<?> b) { return CollectionUtils.disjunction(a, b); } // 集合相減 public static Collection<?> subtract(Collection<?> a, Collection<?> b) { return CollectionUtils.subtract(a, b); } //讀取文件,將其轉換成字節數組 public static byte[] readFileToByteArray(File file) throws IOException { return FileUtils.readFileToByteArray(file); } //讀取文件,將其轉換成字符串 public static String readFileToString(File file) throws IOException { return FileUtils.readFileToString(file); } //該方法是用data內容替換了file文件中原來的內容 public static void writeStringToFile(File file, String data) throws IOException { FileUtils.writeStringToFile(file, data); } //將文件srcFile拷貝到desFile中 public static void copyFile(File srcFile, File desFile) throws IOException { FileUtils.copyFile(srcFile, desFile); } //將文件拷貝到目錄下 public static void copyFileToDirectory(File srcDir, File destDir) throws IOException { FileUtils.copyDirectory(srcDir, destDir); } //拷貝URL類型 public static void copyURLToFile(URL source, File destination) throws IOException { FileUtils.copyURLToFile(source, destination); } //刪除該目錄下的全部文件 public static void delDirectory(File directory) throws IOException { FileUtils.deleteDirectory(directory); } //清除該目錄下的全部文件,但目錄不刪除 public static void cleanDirectory(File directory) throws IOException { FileUtils.cleanDirectory(directory); } // 讀取流信息 public static List<String> readLines(InputStream input) throws IOException { return IOUtils.readLines(input); } // 讀取流信息 public static List<String> readLines(Reader reader) throws IOException { return IOUtils.readLines(reader); } // 批量寫入文件中,並覆蓋原有的文本 public static void writeLines(List<String> lines, File file) throws FileNotFoundException, IOException { IOUtils.writeLines(lines, null, new FileOutputStream(file)); } //批量寫入文件中,並在後面追加 public static void writeOneLine(List<String> lines, File file) throws IOException { OutputStream outputStream = new FileOutputStream(file, true); IOUtils.writeLines(lines, null, outputStream, "UTF-8"); } //將流對象轉換成字符串 public static String toString(InputStream input) throws IOException { return IOUtils.toString(input); } public static void main(String[] args) { Commons(); } }