Java常用工具類匯總 附示例代碼
一、FileUtils
private static void fileUtilsTest() { try { //讀取文件內(nèi)容 String readFileToString = FileUtils.readFileToString(new File("D:\\guor\\data\\test20211022000000.txt")); System.out.println(readFileToString); //刪除文件夾 FileUtils.deleteDirectory(new File("D:\\guor1\\data1")); FileUtils.deleteQuietly(new File("D:\\guor\\data")); //清空文件夾 FileUtils.cleanDirectory(new File("D:\\guor\\data")); //判斷文件內(nèi)容是否一致 boolean contentEquals = FileUtils.contentEquals(new File("D:\\guor\\data\\test20211022000000.txt"), new File("D:\\guor\\data\\testNew20211021000000.txt")); boolean contentEquals2 = FileUtils.contentEquals(new File("D:\\guor\\data\\中文20211021100000.txt"), new File("D:\\guor\\data\\中文New20211022100000.txt")); System.out.println(contentEquals+","+contentEquals2); //拷貝特定類型的文件 FileUtils.copyDirectory(new File("D:\\guor\\data"), new File("D:\\guor\\data2"), new FileFilter() { @Override public boolean accept(File pathname) { if(pathname.getName().startsWith("test")) { return true; } return false; } }); FileUtils.moveDirectory(new File("D:\\guor\\data"), new File("D:\\guor\\data3")); FileUtils.moveFileToDirectory(new File("D:\\guor\\data"), new File("D:\\guor\\data3"), true); FileUtils.moveToDirectory(new File("D:\\guor\\data"), new File("D:\\guor\\data4"), true); boolean directoryContains = FileUtils.directoryContains(new File("D:\\guor\\data"), new File("D:\\guor\\data\\test20211022000000.txt")); System.out.println(directoryContains); directoryContains = FileUtils.directoryContains(new File("D:\\guor\\data"), new File("*.txt")); System.out.println(directoryContains); //獲取某文件夾下特定格式文件 File[] listFiles = new File("D:\\guor\\data").listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.startsWith("test"); } }); System.out.println(Arrays.toString(listFiles)); //獲取系統(tǒng)temp文件夾路徑 File tempDirectory = FileUtils.getTempDirectory(); System.out.println(tempDirectory); //獲取系統(tǒng)用戶文件夾路徑 File userDirectory = FileUtils.getUserDirectory(); System.out.println(userDirectory); //查看是否是新建的文件夾 SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMddHHmmss" ); Date parse = sdf.parse("20210206134900"); boolean fileNewer = FileUtils.isFileNewer(new File("D:\\guor\\data"), parse); System.out.println(fileNewer); //更新文件修改時(shí)間,如果不存在,則新建; FileUtils.touch(new File("D:\\guor\\data\\test20211022000000.txt")); //延遲查看文件是否存在 boolean waitFor = FileUtils.waitFor(new File("D:\\guor\\data\\testNew20211021000000.txt"), 5); System.out.println(waitFor); } catch (Exception e) { System.out.println(e); } }
//根據(jù)文件修改時(shí)間排序 public static void test02() { String dir = "D:\\data"; File[] listFiles = new File(dir).listFiles(); List<File> asList = Arrays.asList(listFiles); for(File file:listFiles) { System.out.println(file); } Collections.sort(asList, new Comparator<File>() { @Override public int compare(File o1, File o2) { if(o1.lastModified()<o2.lastModified()) { return -1; }else if(o1.lastModified()>o2.lastModified()) { return 1; }else { return 0; } } }); System.out.println("sort..."); for(File file:listFiles) { System.out.println(file+","+file.lastModified()); } }
二、StringUtil
private static void stringUtilsTest() { String str = "hello world"; //將第一個(gè)字符大寫 String capitalize = StringUtils.capitalize(str); System.out.println(capitalize);//Hello //兩邊空格補(bǔ)齊 String center = StringUtils.center(str, 7); System.out.println(center);// hello String center = StringUtils.center(str, 7, "*"); System.out.println(center);//*hello* //chomp剔除字符串最后一個(gè)是\n或\r\或\r\n String chomp = StringUtils.chomp(str); System.out.println(chomp); //chop剔除字符串最后一個(gè)字符(如果最后一個(gè)是\n或\r\或\r\n也剔除掉) String chop = StringUtils.chop(str); System.out.println(chop);//hello worl //是否包含任意字符 boolean containsAny = StringUtils.containsAny(str, "W"); System.out.println(containsAny); //是否包含任意字符,忽略大小寫 containsAny = StringUtils.containsIgnoreCase(str, "W"); System.out.println(containsAny); //有意思 int indexOfAnyBut = StringUtils.indexOfAnyBut(str, "hello orld"); System.out.println(indexOfAnyBut); //兩個(gè)字符串從第幾位開始不同 int indexOfDifference = StringUtils.indexOfDifference(str, str); System.out.println(indexOfDifference); indexOfDifference = StringUtils.indexOfDifference(str, str+"zs"); System.out.println(indexOfDifference); indexOfDifference = StringUtils.indexOfDifference(str, "he llo"); System.out.println(indexOfDifference); //判斷是否是正整數(shù) boolean isNumeric = StringUtils.isNumeric(str); System.out.println(isNumeric);//false isNumeric = StringUtils.isNumeric("1234dd"); System.out.println("1234dd:"+isNumeric);//false isNumeric = StringUtils.isNumeric("1234 "); System.out.println("1234 :"+isNumeric);//false isNumeric = StringUtils.isNumeric("1.234"); System.out.println("1.234:"+isNumeric);//false isNumeric = StringUtils.isNumeric("1234"); System.out.println("1234:" + isNumeric);//true isNumeric = StringUtils.isNumeric("-1234"); System.out.println("-1234:" + isNumeric);//false //判斷是否是正整數(shù)或空格 boolean isNumeric = StringUtils.isNumericSpace(str); //將數(shù)組變?yōu)樽址⑻砑幼址M(jìn)行分割 Object[] array = new Object[] {"zs",18,"男",666,777}; String join = StringUtils.join(array); System.out.println(Arrays.toString(array)); join = StringUtils.join(array, "*"); System.out.println(join); Object[] array = new Object[] {"zs",18,"男",666,777}; String join = StringUtils.join(array, ";", 2, 5); System.out.println(join); String remove = StringUtils.remove(str, "hello"); System.out.println(remove);// world String repeat = StringUtils.repeat(str, 3); System.out.println(repeat);//hello worldhello worldhello world repeat = StringUtils.repeat(str, ",", 3); System.out.println(repeat);//hello world,hello world,hello world //分別替換 String[] list = new String[] {"hello", "girl"}; String[] replacementList = new String[] {"say", "woman"}; String str2 = "hello world,hello boy,hello girl."; String replaceEach = StringUtils.replaceEach(str2, list, replacementList); System.out.println(replaceEach);//say world,say boy,say woman. //只替換第一個(gè)匹配的字符串 String replaceOnce = StringUtils.replaceOnce("hello world,hello boy,hello girl.", "hello", "say"); System.out.println(replaceOnce);//say world,hello boy,hello girl. //截取某字符后面的部分 String substringAfterLast = StringUtils.substringAfterLast("hello world,hello boy,hello girl.", " "); System.out.println(substringAfterLast);//girl. String substringBeforeLast = StringUtils.substringBeforeLast("hello world,hello boy,hello girl.", " "); System.out.println(substringBeforeLast);//hello world,hello boy,hello }
三、CollectionUtils
private static void collectionUtilsTest() { List<String> list = new ArrayList<String>(); list.add("zhangsan"); list.add("dalian"); list.add("gateway"); list.add("gateway"); list.add("28"); list.add("35"); //查找第一個(gè)符合條件的元素 Object find = CollectionUtils.find(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return false; } return true; } }); //排除不符合條件的元素 Collection select = CollectionUtils.select(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return false; } return true; } }); System.out.println(list);//[zhangsan, dalian, 28] System.out.println(find);//zhangsan System.out.println(select);//[zhangsan, dalian] List<String> list2 = new ArrayList<String>(); list2.add("zhangsan"); list2.add("dalian2"); list2.add("282"); //查看兩個(gè)集合中是否有相同的元素 boolean containsAny = CollectionUtils.containsAny(list, list2); System.out.println(containsAny);//true //查找集合中某元素的個(gè)數(shù) int countMatches = CollectionUtils.countMatches(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return true; } return false; } }); System.out.println(countMatches); //查找集合中是否存在某元素 boolean exists = CollectionUtils.exists(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return true; } return false; } }); System.out.println(exists); //刪除集合中的某些元素 System.out.println(list);//[zhangsan, dalian, 打法, 28, 35] CollectionUtils.filter(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return false; } return true; } }); System.out.println(list);//[zhangsan, dalian, 打法] //查找集合中符合條件的第一個(gè)元素 Object find = CollectionUtils.find(list, new Predicate() { @Override public boolean evaluate(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return false; } return true; } }); System.out.println(find);//zhangsan //閉包回調(diào)函數(shù) System.out.println(list); CollectionUtils.forAllDo(list, new Closure() { @Override public void execute(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { work(arg0); } } }); System.out.println(list); //查找集合中元素的個(gè)數(shù) System.out.println(list);//[zhangsan, dalian, gateway, gateway, 28, 35] Map cardinalityMap = CollectionUtils.getCardinalityMap(list); System.out.println(cardinalityMap);//{35=1, 28=1, zhangsan=1, dalian=1, gateway=2} //查找兩個(gè)集合中的相同元素 List<String> list2 = new ArrayList<String>(); list2.add("lisi"); list2.add("beijing"); list2.add("gateway"); list.add("19"); Collection intersection = CollectionUtils.intersection(list, list2); System.out.println(intersection); //獲取兩個(gè)List<Map<String, Object>>中相同的部分,可以用于對比兩個(gè)庫中的相同表數(shù)據(jù)是否相等 List<Map<String, Object>> list3 = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> list4 = new ArrayList<Map<String,Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("name", "zhangsan"); map1.put("age", 18); map1.put("address", "dalian"); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("name", "張三"); map2.put("age", "十八"); map2.put("address", "大連"); list3.add(map1); list3.add(map2); Map<String, Object> map3 = new HashMap<String, Object>(); map3.put("name", "李四"); map3.put("age", "十八"); map3.put("address", "大連"); list4.add(map2); list4.add(map1); list3.add(map3); System.out.println(list3); System.out.println(list4); Collection intersection = CollectionUtils.intersection(list3, list4); System.out.println(intersection);//[{address=dalian, name=zhangsan, age=18}] //判斷兩個(gè)集合是否相同 boolean equalCollection = CollectionUtils.isEqualCollection(list3, list4); System.out.println(equalCollection); 判斷param2是否包含param1,且不能完全相同 System.out.println(list3);//[{address=dalian, name=zhangsan, age=18}, {address=大連, name=張三, age=十八}, {address=大連, name=李四, age=十八}] System.out.println(list4);//[{address=大連, name=張三, age=十八}, {address=dalian, name=zhangsan, age=18}] boolean properSubCollection = CollectionUtils.isProperSubCollection(list4, list3); System.out.println(properSubCollection);//true //斷定某集合是否含有某元素,如果包含則拋異常(我覺得應(yīng)該少用為妙) System.out.println(list);//[zhangsan, dalian, gateway, gateway, 28, 35] Collection predicatedCollection = CollectionUtils.predicatedCollection(list, new Predicate() { @Override public boolean evaluate(Object object) { if(StringUtils.isNumeric(object.toString())) { return false; } return true; } }); System.out.println(predicatedCollection);//Exception in thread "main" java.lang.IllegalArgumentException: Cannot add Object '28' - Predicate rejected it List<String> list2 = new ArrayList<String>(); list2.add("gateway"); System.out.println(list); System.out.println(list2); //刪除list1中的list2 Collection removeAll = CollectionUtils.removeAll(list, list2); System.out.println(removeAll); //反轉(zhuǎn)數(shù)組 String[] array = new String[] {"zs","ls","ww"}; System.out.println(StringUtils.join(array, ","));//zs,ls,ww CollectionUtils.reverseArray(array); System.out.println(StringUtils.join(array, ","));//ww,ls,zs 刪除list1中的list2 List<String> list2 = new ArrayList<String>(); list2.add("zhangsan"); list2.add("dalian"); Collection subtract = CollectionUtils.subtract(list, list2); System.out.println(subtract); //更改集合中的特定值 Collection collect = CollectionUtils.collect(list, new Transformer() { @Override public Object transform(Object arg0) { if(StringUtils.isNumeric(arg0.toString())) { return 15; } return arg0; } }); System.out.println(list);//[zhangsan, dalian, 28, 35] System.out.println(collect);//[zhangsan, dalian, 15, 15] //更改集合中的特定值,改變集合本身 System.out.println(list);//[zhangsan, dalian, gateway, gateway, 28, 35] CollectionUtils.transform(list, new Transformer() { @Override public Object transform(Object input) { if(StringUtils.isNumeric(input.toString())) { return 15; } return input; } }); System.out.println(list);//[zhangsan, dalian, gateway, gateway, 15, 15] List<String> list2 = new ArrayList<String>(); list2.add("docker"); list2.add("zhangsan"); System.out.println(list); System.out.println(list2); //將list和list2中的元素合并,但去除list2中的重復(fù)元素 Collection union = CollectionUtils.union(list, list2); System.out.println(union); }
private static void work(Object obj){ System.out.println("閉包回調(diào)函數(shù):我是數(shù)字,"+obj); }
四、ArrayUtils
private static void arrayUtilsTest() { String[] array =new String[] {"zs", "ls"}; //增加元素 Object[] add = ArrayUtils.add(array, "ww"); System.out.println(StringUtils.join(add, ","));//zs,ls,ww //合并數(shù)組 String[] array2 =new String[] {"ww", "ss"}; Object[] addAll = ArrayUtils.addAll(array1, array2); System.out.println(StringUtils.join(addAll, ","));//zs,ls,ww,ss //克隆數(shù)組 Object[] clone = ArrayUtils.clone(array); System.out.println(StringUtils.join(clone, ","));//zs,ls boolean contains = ArrayUtils.contains(array, "ww"); boolean contains1 = ArrayUtils.contains(array, "zs"); System.out.println(contains+","+contains1);//false,true }
到此這篇關(guān)于Java常用工具類匯總 附示例代碼的文章就介紹到這了,更多相關(guān)Java常用工具類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 深入淺析Java常用的格式化Json工具類
- Java常用工具類庫——Hutool的使用簡介
- Java常用類庫Apache Commons工具類說明及使用實(shí)例詳解
- java常用工具類 Reflect反射工具類、String字符串工具類
- java常用工具類 Date日期、Mail郵件工具類
- java常用工具類 UUID、Map工具類
- java常用工具類 Random隨機(jī)數(shù)、MD5加密工具類
- java常用工具類 數(shù)字工具類
- java常用工具類 XML工具類、數(shù)據(jù)驗(yàn)證工具類
- java常用工具類 IP、File文件工具類
- 詳解Java常用工具類—泛型
- Java常用工具類—集合排序
- java處理字節(jié)的常用工具類
- java自定義封裝StringUtils常用工具類
- 常用java正則表達(dá)式的工具類
- Java語言Lang包下常用的工具類介紹
- Java_int、double型數(shù)組常用操作工具類(分享)
- Java常用工具類總結(jié)
相關(guān)文章
springboot植入pagerHelper的超詳細(xì)教程
這篇文章主要介紹了springboot植入pagerHelper的超詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01通過實(shí)例解析POJO和JavaBean的區(qū)別
這篇文章主要介紹了通過實(shí)例解析POJO和JavaBean的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07java開發(fā)分布式服務(wù)框架Dubbo服務(wù)引用過程詳解
這篇文章主要為大家介紹了java開發(fā)分布式服務(wù)框架Dubbo服務(wù)引用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11springcloud?gateway實(shí)現(xiàn)簡易版灰度路由步驟詳解
這篇文章主要為大家介紹了springcloud?gateway實(shí)現(xiàn)簡易版灰度路由步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11詳解在spring boot中配置多個(gè)DispatcherServlet
本篇文章主要介紹了詳解在spring boot中配置多個(gè)DispatcherServlet,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-03-03java 刪除數(shù)組元素與刪除重復(fù)數(shù)組元素的代碼
在java中刪除數(shù)組元素與過濾重復(fù)數(shù)組元素我們都會(huì)需要去遍歷數(shù)組然后根據(jù)我們設(shè)置的值或方法進(jìn)行去除數(shù)組2013-10-10使用SpringBoot 工廠模式自動(dòng)注入到Map
這篇文章主要介紹了使用SpringBoot 工廠模式自動(dòng)注入到Map,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09