概述
这是一个 Java 操作文件的常用库,是 Apache 对 Java 的 IO 包的封装,这里面有两个非常核心的类 FileUtils
和 FilenameUtils
,其中 FileUtils
是文件封装;FilenameUtils
是对文件名操作的封装。开发中对文件的操作,几乎都可以在这个框架里面找到,非常的好用。上一章节已经总结过了 FileUtils
,今天我就来总结下 FilenameUtils
。
官网地址:http://commons.apache.org/proper/commons-io/
下载:http://commons.apache.org/proper/commons-io/download_io.cgi
maven
依赖
1 | <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> |
常用方法
normalizeNoEndSeparator(String fileName)
:此方法将路径规范化为标准格式。concat(String basePath, String fullFileNameToAdd)
:合并目录和文件名为文件全路径。getBaseName(String fileName)
:文件路径去除目录和后缀后的文件名。getExtension(String fileName)
:获取文件的后缀。getFullPath(String fileName)
:获取文件的完整目录。getFullPathNoEndSeparator(String fileName)
:获取文件的完整目录不包含结束符。getName(String fileName)
:获取文件完整的名称,包含后缀。getPath(String fileName)
:获取文件的路径,去除前缀的路径。getPathNoEndSeparator(String fileName)
:获取文件的路径,去除前缀和结尾的分隔符。getPrefix(String fileName)
:获取路径前缀。getPrefixLength(String fileName)
:获取前缀长度。indexOfExtension(String fileName)
:获取最后一个.
的位置。indexOfLastSeparator(String fileName)
:获取最后一个/
的位置。normalize(String fileName)
:获取当前系统格式化路径。normalizeNoEndSeparator(String fileName)
:获取当前系统无结尾分隔符的路径。removeExtension(String fileName)
:移除文件的扩展名。separatorsToSystem(String path)
:转换分隔符为当前系统分隔符。separatorsToUnix(String path)
:转换分隔符为 linux 系统分隔符。separatorsToWindows(String path)
:转换分隔符为 windows 系统分隔符。directoryContains(String canonicalParent, String canonicalChild)
:判断目录下是否包含指定文件或目录。equals(String fileName1, String fileName2)
:判断文件路径是否相同。equals(String fileName1, String fileName2, boolean normalized, IOCase caseSensitivity)
:判断文件路径是否相同,格式化并大小写是否敏感。equalsNormalized(String fileName1, String fileName2)
:判断文件路径是否相同,标准化比较。equalsOnSystem(String fileName1, String fileName2)
:判断文件路径是否相同,不格式化,大小写敏感根据系统规则 windows -> 敏感;linux -> 不敏感。isExtension(String fileName, Collection<String> extensions)
:判断文件扩展名是否包含在指定集合中。isExtension(String fileName, String extension)
:判断文件扩展名是否等于指定扩展名。isExtension(String fileName, String... extensions)
:判断文件扩展名是否包含在指定字符串数组中。wildcardMatch(String fileName, String wildcardMatcher)
:判断文件扩展名是否和指定规则匹配,大小写敏感。wildcardMatch(String fileName, String wildcardMatcher, IOCase caseSensitivity)
:判断文件扩展名是否和指定规则匹配,大小是否敏感。wildcardMatchOnSystem(String fileName, String wildcardMatcher)
:判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows -> 不敏感;linux -> 敏感。
例:
1 |
|
显示结果:
1 | (1)/Users/vincent/IDEA_Project/my_project/IO/filenameutils/abc.txt |
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !