FileUtils.deleteQuietly(outputFile);
- ,把文件复制到一个新的位置。
FileUtils.copyFile(source, dest);
- ,把字符串写入到文件。
FileUtils.writeStringToFile(templateFile, generatedText, Charset.forName(“UTF-8”));
- ,强制创建目录,包括任何必需但不存在的父目录。
File uploadDirectory = new File(this.uploadPath);
if (!uploadDirectory.exists()) {
FileUtils.forceMkdir(uploadDirectory);
}
- ,把字符或者字节写入到文件。
FileUtils.write(new File(“C:Userscmower est.txt”), “沉默王二”, “utf-8”);
- ,列出指定目录下的所有文件。
public void processResultsDirectory(String dirName) {
File root = new File(dirName);
try {
Collection files = FileUtils.listFiles(root,
new RegexFileFilter(jmeterJTLFileName),
DirectoryFileFilter.DIRECTORY);
for (Iterator iterator = files.iterator(); iterator.hasNext()😉 {
File file = (File) iterator.next();
parse(file);
}
} catch (Exception e) {
e.printStackTrace();
}
}
- ,将目录下的所有子目录及文件复制到新的目录。
FileUtils.copyDirectory(source, dest);
- ,强制删除文件或者目录及其所有子目录和文件。
FileUtils.forceDelete(tmpFile);
3)StringUtils
,操作字符串的工具类,并且是 null 安全的,下面是其常用的方法。
- ,检查字符是否为空字符串"",或者 null,或者空格。
if (StringUtils.isBlank(name))
{
throw new IllegalArgumentException(“姓名不能为空”);
}
检查结果如下所示。
StringUtils.isBlank(null) = true
StringUtils.isBlank(“”) = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(“沉默王二”) = false
StringUtils.isBlank(" 沉默王二 ") = false
- ,与 检查的结果相反。
- ,检查字符是否为空字符串"",或者 null;和 不同,不包括空格的检查。
if (StringUtils.isEmpty(name)) {
throw new IllegalArgumentException(“姓名不能为 null 或者空字符串”);
}
检查结果如下所示。
StringUtils.isEmpty(null) = true
StringUtils.isEmpty(“”) = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty(“沉默王二”) = false
StringUtils.isEmpty(" 沉默王二 ") = false
- ,与 检查的结果相反。
- ,将多个元素连接成一个字符串。
StringUtils.join(null) = null
StringUtils.join([]) = “”
StringUtils.join([null]) = “”
StringUtils.join([“沉默”, “王二”]) = “沉默王二”
StringUtils.join([null, “”, “一枚有趣的程序员”]) = “一枚有趣的程序员”
- ,比较两个字符序列是否相等。
StringUtils.equals(null, null) = true
StringUtils.equals(null, “沉默王二”) = false
StringUtils.equals(“沉默王二”, null) = false
StringUtils.equals(“沉默王二”, “沉默王二”) = true
StringUtils.equals(“cmower”, “CMOWER”) = false
- ,把字符串拆分为数组,拆分符为空白字符。
StringUtils.split(null) = null
StringUtils.split(“”) = []
StringUtils.split(“沉默王二 沉默王三”) = [“沉默王二”, “沉默王三”]
StringUtils.split(“沉默王二 沉默王三”) = [“沉默王二”, “沉默王三”]
StringUtils.split(" 沉默王二 ") = [“沉默王二”]
- ,替换另一个字符串中所有出现的字符串。
StringUtils.replace(null, *, *) = null
StringUtils.replace(“”, *, *) = “”
StringUtils.replace(“any”, null, *) = “any”
StringUtils.replace(“any”, *, null) = “any”
StringUtils.replace(“any”, “”, *) = “any”
StringUtils.replace(“沉默王二”, “二”, null) = “沉默王二”
StringUtils.replace(“沉默王二”, “二”, “”) = “沉默王”
StringUtils.replace(“沉默王二”, “二”, “三”) = “沉默王三”

4)FilenameUtils
,操作文件名或者路径的工具类,下面是其常用的方法。
- ,获取文件的扩展名。
FilenameUtils.getExtension(“牛逼.txt”); --> “txt”
FilenameUtils.getExtension(“a/b/牛逼.jpg”); --> “jpg”
FilenameUtils.getExtension(“a/牛逼.txt/c”); --> “”
FilenameUtils.getExtension(“a/b/c”); --> “”
- ,获取单纯的文件名或者路径名,文件时去掉路径和扩展名;路径时去掉父级路径。
FilenameUtils.getBaseName(“a/b/牛逼.txt”); --> “牛逼”
FilenameUtils.getBaseName(“牛逼.txt”); --> “牛逼”
FilenameUtils.getBaseName(“a/b/c”); --> c
FilenameUtils.getBaseName(“a/b/c/”); --> “”
- ,如果是文件时,获取文件名和后缀,去掉路径;如果是路径时,去掉父级路径。
FilenameUtils.getName(“a/b/牛逼.txt”); --> “牛逼.txt”
FilenameUtils.getName(“牛逼.txt”); --> “牛逼.txt”
FilenameUtils.getName(“a/b/c”); --> c
FilenameUtils.getName(“a/b/c/”); --> “”
- ,将路径和文件名连接在一起。
FilenameUtils.concat(“/foo/”, “bar”); --> /foo/bar
FilenameUtils.concat(“/foo”, “bar”); --> /foo/bar
FilenameUtils.concat(“/foo”, “/bar”); --> /bar
FilenameUtils.concat(“/foo”, “C:/bar”); --> C:/bar
FilenameUtils.concat(“/foo”, “C:bar”); --> C:bar (*)
FilenameUtils.concat(“/foo/a/”, “…/bar”); --> foo/bar
FilenameUtils.concat(“/foo/”, " …/…/bar"); --> null
FilenameUtils.concat(“/foo/”, “/bar”); --> /bar
FilenameUtils.concat("/foo/… ", “/bar”); --> /bar
FilenameUtils.concat(“/foo”, " bar/c.txt"); --> /foo/bar/c.txt
FilenameUtils.concat(“/foo/c.txt”, “bar”); --> /foo/c.txt/bar (!)
- ,检查文件名是否匹配指定的格式。
wildcardMatch(“c.txt”, “*.txt”) --> true
wildcardMatch(“c.txt”, “*.jpg”) --> false
wildcardMatch(“a/b/c.txt”, “a/b/*”) --> true
wildcardMatch(“c.txt”, “*.???”) --> true
wildcardMatch(“c.txt”, “*.???”) --> false
- ,将所有分隔符转换为正斜杠的 Unix 分隔符。
FilenameUtils.separatorsToUnix(“my/unix/filename”);
- ,获取文件的完整路径。
getFullPath(“C:abc.txt” --> C:ab
getFullPath(“~/a/b/c.txt” --> ~/a/b/
getFullPath(“a.txt” --> “”
5)ArrayUtils
,操作数组的工具类,下面是其常用的方法。
- ,检查数组中是否包含某个值
public static boolean containsAll(Object[] one, Object[] two) {
for (Object b : two) {
if (!ArrayUtils.contains(one, b)) {
return false;
}
}
return true;
}
- ,将所有元素添加到一个数组中。
ArrayUtils.addAll(null, null) = null
ArrayUtils.addAll(array1, null) = cloned copy of array1
ArrayUtils.addAll(null, array2) = cloned copy of array2
ArrayUtils.addAll([], []) = []
ArrayUtils.addAll([null], [null]) = [null, null]
ArrayUtils.addAll([“a”, “b”, “c”], [“1”, “2”, “3”]) = [“a”, “b”, “c”, “1”, “2”, “3”]
- ,浅拷贝一个数组。
public QualityGateTask[] getQueue() {
return (QualityGateTask[]) ArrayUtils.clone(queue);
}
- ,检查数组是否为 null 或者没有元素。
if (ArrayUtils.isEmpty(objectIds)) {
throw new IllegalArgumentException(“对象的ID不能为空”);
}
- ,在数组中添加一个新的元素,原数组不变。
ArrayUtils.add(null, true) = [true]
ArrayUtils.add([true], false) = [true, false]
ArrayUtils.add([true, false], true) = [true, false, true]
- ,根据起始下标和结束下标截取一个子数组。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

java 开源基础类库

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)

总结
互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理
下面有部分截图希望能对大家有所帮助。

升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-szui66Ku-52)]
[外链图片转存中…(img-QpGhtL3U-53)]
[外链图片转存中…(img-vdEkQeoy-53)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-S0dlKgnQ-54)]
总结
互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理
下面有部分截图希望能对大家有所帮助。
[外链图片转存中…(img-5gB4GB7F-54)]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2325.html