我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java常用工具类汇总 附示例代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java常用工具类汇总 附示例代码

一、FileUtils


private static void fileUtilsTest() {
    try {
        //读取文件内容
        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"));
        //判断文件内容是否一致
        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));
        //获取系统temp文件夹路径
        File tempDirectory = FileUtils.getTempDirectory();
        System.out.println(tempDirectory);
        //获取系统用户文件夹路径
        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);
        //更新文件修改时间,如果不存在,则新建;
        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);
    }
}

//根据文件修改时间排序
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";
    //将第一个字符大写
    String capitalize = StringUtils.capitalize(str);
    System.out.println(capitalize);//Hello
    //两边空格补齐
    String center = StringUtils.center(str, 7);
    System.out.println(center);// hello
    String center = StringUtils.center(str, 7, "*");
    System.out.println(center);//*hello*
    //chomp剔除字符串最后一个是\n或\r\或\r\n
    String chomp = StringUtils.chomp(str);
    System.out.println(chomp);
    //chop剔除字符串最后一个字符(如果最后一个是\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);
 
    //两个字符串从第几位开始不同
    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);
 
    //判断是否是正整数
    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
    //判断是否是正整数或空格
    boolean isNumeric = StringUtils.isNumericSpace(str);
 
    //将数组变为字符串,并添加字符进行分割
    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.
 
    //只替换第一个匹配的字符串
    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");
    //查找第一个符合条件的元素
    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");
    //查看两个集合中是否有相同的元素
    boolean containsAny = CollectionUtils.containsAny(list, list2);
    System.out.println(containsAny);//true
 
    //查找集合中某元素的个数
    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, 打法]
 
    //查找集合中符合条件的第一个元素
    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
 
    //闭包回调函数
    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);
 
    //查找集合中元素的个数
    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}
 
    //查找两个集合中的相同元素
    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);
 
    //获取两个List<Map<String, Object>>中相同的部分,可以用于对比两个库中的相同表数据是否相等
    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}]
 
    //判断两个集合是否相同
    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
 
    //断定某集合是否含有某元素,如果包含则抛异常(我觉得应该少用为妙)
    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);
 
    //反转数组
    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中的重复元素
    Collection union = CollectionUtils.union(list, list2);
    System.out.println(union);
}

private static void work(Object obj){
    System.out.println("闭包回调函数:我是数字,"+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
 
    //合并数组
    String[] array2 =new String[] {"ww", "ss"};
    Object[] addAll = ArrayUtils.addAll(array1, array2);
    System.out.println(StringUtils.join(addAll, ","));//zs,ls,ww,ss
 
    //克隆数组
    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
}

到此这篇关于Java常用工具类汇总 附示例代码的文章就介绍到这了,更多相关Java常用工具类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java常用工具类汇总 附示例代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java常用工具类汇总以及示例代码

今天小编给大家分享的是Java常用工具类汇总以及示例代码,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程
2023-06-14

利用java生成二维码工具类示例代码

二维码介绍二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来
2023-05-31

Java代码常用工具类有哪些

这篇文章主要为大家展示了“Java代码常用工具类有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java代码常用工具类有哪些”这篇文章吧。一、org.apache.commons.io.IO
2023-06-02

基于Java实现进制转换工具类的示例代码

这篇文章主要为大家详细介绍了如何基于Java实现进制转换工具类,从而实现减少参数长度的效果,文中的示例代码讲解详细,需要的可以参考一下
2023-02-19

超好用的Java常用工具类StringUtils(带代码实例),提升开发效率

工具类Commons-lang3有很多好用的工具类,今天分享一下StringUtils中常用的方法,来提升我们的开发效率!
java工具类2024-11-30

Android常用正则表达式验证工具类(实例代码)

东西不多,但一般项目够用了。public class RegularUtil { //身份证 public static final String REGEX_ID_CARD = "^[1-9]\\d{5}[1-9]\\d{3}((0
2023-05-30

Java使用excel工具类导出对象功能示例

本文实例讲述了Java使用excel工具类导出对象功能。分享给大家供大家参考,具体如下:package com.gcloud.common;import org.apache.poi.ss.usermodel.Cell;import org
2023-05-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录