一文总结Java获取文件后缀名的所有方法
作者:Java?Fans 发布时间:2022-10-18 16:06:40
一、研究背景
在我们实际的项目开发中,我们会经常对文件进行相关任务的操作,具体的开发环节中,免不了让我们获取文件的后缀名,通过后缀名来进行下一步的相关任务操作。
文件后缀名(也称为文件扩展名)是指在文件名的最后一个句点之后的字符串,它提供了关于特定文件内容的信息,例如 .jpg 表示 JPG 图像文件,.txt 表示文本文件,等等。因此,本文总结了目前 Java 中常见的一些获取文件后缀名的方法。
二、常用方法
在这里我们设定一个文件名称 fileName,便于我们下面各方法获取后缀都统一用这个文件名称。
文件名称 fileName 代码如下:
String fileName = "first.jpg";
1、使用 String.substring() 截取
首先,使用 String.lastIndexOf() 方法可以获取文件名中最后一个句点(.)的索引值,然后使用String.substring() 方法来获取文件后缀名,代码如下:
String suffix = fileName.substring(fileName.lastIndexOf("."));
运行结果为:“.jpg”【包括点】。
2、使用 String.split() 分割
分隔符可以是任意字符、符号、数字、字符串等。
如果用 “.” 作为分隔的话,必须是如下写法,通过转义字符才能正确的分隔开,不能用 String.split(".")
String suffix=fileName.split("\\.")[fileName.split("\\.").length-1];
运行结果为:“jpg”【不包括点】。
3、使用 java 的正则表达
String suffix = fileName.replaceAll(".*(\\..*)","$1");
运行结果为:“.jpg”【包括点】。
4、使用 commons.io.FilenameUtils 类
在项目头部添加: import org.apache.commons.io.FilenameUtils;
String suffix = FilenameUtils.getExtension(fileName);
运行结果为:“jpg”【不包括点】。
5、使用 util.StringUtils 类
在项目头部添加:import org.springframework.util.StringUtils;
String suffix = StringUtils.getFilenameExtension(fileName);
运行结果为:“jpg”【不包括点】。
6、使用 java.nio.file.Paths 类
使用 java.nio.file.Paths 类可以轻松获取文件扩展名,代码如下:
String suffix= Paths.get(fileName).getFileName().toString();
字符串后缀 = Paths.get(文件名).getFileName().toString();
来源:https://blog.csdn.net/hh867308122/article/details/129304076


猜你喜欢
- 本文为大家分享了android studio3.4安装指南,供大家参考,具体内容如下1、双击运行Android Studio安装包,点击ne
- 类的定义面向对象的程序设计中,类可以看作是我们自定义的数据类型,那么,如何能更加优美,更加高效地定义它就显得尤为重要。类中的成员有很多,每一
- 基础部分1. FastJson 简介Fastjson是一个Java库,可用于将Java对象转换为JSON表示。它也可以被用来将一个JSON字
- 自用项目中统一Eclipse格式化Java、JavaScript、JSP、HTML代码设置1.Window->Preferences
- 当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel
- Spring Boot 自动配置来看下 spring boot中自动配置的注解@SuppressWarnings("depreca
- 八皇后问题(N皇后问题)的回溯法求解一、问题描述在一个国际象棋棋盘上放置八个皇后,使得任何两个皇后之间不相互攻击,求出所有的布棋方法,并推广
- Android通过wifi连接手机的方法,供大家参考,具体内容如下1.首先电脑,手机连接同一个网络2.在Android studio中Ter
- 首先微信公众号开发网页授权登录使用环境:开发工具:eclipse;服务器:tomcat8,开发语言:JAVA。我写的网页授权登录时用开发者模
- 接着上篇文章,我们继续来学习 Java 中的字节流操作。装饰者缓冲流 BufferedInput/OutputStream装饰者流其实是基于
- 一、Collections说明:Collcetions是集合框架中的工具,特点是方法都是静态的。二、Collections中的常见方法1,对
- Bat.aspx: 程序代码 <%@ Page Language="C#" AutoEventWireu
- redissonredisson 实现分布式锁的机制如下:依赖版本implementation 'org.redisson:redi
- 一、获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name=”OK”&g
- Spring cloud网关gateway进行websocket路由转发规则配置一、websocket及http路由转发规则配置后端是普通的
- 为了方便客户抓取Log,现通过TCP协议连接指定服务器,传输指定内容,定义指定目录,IP,PORT字段接收参数。直接上代码 public s
- 1、什么是Mybatis?MyBatis是一个优秀的持久层框架,是一个半ORM(对象关系映射)框架,它对jdbc的操作数据库的过程进行封装,
- Unity没有像Vs那样的“*.sln”的项目工程文件,不能通过这个文件来打开工程。但是原有的打开已有工程的方法太过于麻烦了,则现在来通过添
- 一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为Aspect Oriented Programming的缩写
- 本文实例讲述了Android编程实现获取新浪天气预报数据的方法。分享给大家供大家参考,具体如下:新浪天气预报地址:http://php.we