apache的文件名工具类FilenameUtils
org.apache.commons.io.FilenameUtils。
FileUtils和FilenameUtils分别是Apache对文件名和文件的封装,两者可以配合使用。
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
合并文件路径和文件名称为一个全路径
使用此方法,相对于字符串手动拼接的优势是:无需考虑路径后面是否要加斜杠,无论是没有斜杠还是多了斜杠,程序会自动处理成正确格式。
String fileName = FilenameUtils.concat("D:///", "1.txt");
System.out.println(fileName);
//输出:D:\\1.txt
获取绝对路径
String fullPath = FilenameUtils.getFullPath("D:\\1\\1.txt");
System.out.println(fullPath); //不包含文件名本身
//输出:D:\1\
获取相对路径
String path = FilenameUtils.getPath("D:\\1\\1.txt");
//输出:1\
获取前缀
String prefix = FilenameUtils.getPrefix("D:\\1.txt");
//输出:D:\
获取扩展名
String extension = FilenameUtils.getExtension("D:\\1.txt");
//输出:txt
获取无后缀名称
String baseName = FilenameUtils.getBaseName("D:\\1.txt");
//输出:1
获取文件名
String name = FilenameUtils.getName("D:\\1.txt");
//输出:1.txt
判断目录下是否包含指定文件或目录
boolean isContain = FilenameUtils.directoryContains("F:/1/", "1.txt");
获取最后一个/的位置
int index = FilenameUtils.indexOfLastSeparator("F:/1/");
//输出:4
判断文件扩展名是指定扩展名
//1.是否是指定扩展名
boolean isExtension = FilenameUtils.isExtension("F:/1/1.txt", "txt");
boolean isExtension = FilenameUtils.isExtension("F:/1/1.txt", ".txt");
//输出:true false
//2.是否在扩展名列表中
List<String> extensions = new ArrayList<>();
extensions.add("jpg");
extensions.add("png");
boolean isExtension = FilenameUtils.isExtension("F:/1/1.png", extensions);
//输出:false
标签:
实用技巧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2022-11-28 介绍Spring名称生成策略接口BeanNameGenerator
2022-11-28 Spring的测试框架及MockMvc
2022-11-28 说说Spring中@Value注解
2022-11-28 PropertyPlaceholderConfigurer、PropertyOverrideConfigurer等对属性配置文件Properties的加载和使用
2022-11-28 谈谈ApplicationContextInitializer应用上下文初始化器
2021-11-28 你知道为什么HashMap是线程不安全的吗?
2021-11-28 Java序列化与反序列化三连问:是什么?为什么要?如何做?