java 开源基础类库

java 开源基础类库FileUtils deleteQuietl outputFile 把文件复制到一个新的位置 FileUtils copyFile source dest 把字符串写入到文件 FileUtils writeStringT templateFile generatedTex Charset forName UTF 8

大家好,我是讯享网,很高兴认识大家。



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开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
java 开源基础类库img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

总结

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

另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理

下面有部分截图希望能对大家有所帮助。

在这里插入图片描述

升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-szui66Ku-52)]
[外链图片转存中…(img-QpGhtL3U-53)]
[外链图片转存中…(img-vdEkQeoy-53)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-S0dlKgnQ-54)]

总结

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

另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理

下面有部分截图希望能对大家有所帮助。

[外链图片转存中…(img-5gB4GB7F-54)]

小讯
上一篇 2024-12-24 21:43
下一篇 2024-12-30 18:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2325.html