当前位置: 首页 > news >正文

Java 获取文件后缀名【一文总结所有方法】

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:第一个 Spring MVC 注解式开发案例(初学必看)

文章目录

  • 一、研究背景
  • 二、常用方法
    • 1、使用 String.substring() 截取
    • 2、使用 String.split() 分割
    • 3、使用 java 的正则表达
    • 4、使用 commons.io.FilenameUtils 类
    • 5、使用 util.StringUtils 类
    • 6、使用 java.nio.file.Paths 类

在这里插入图片描述

一、研究背景

  在我们实际的项目开发中,我们会经常对文件进行相关任务的操作,具体的开发环节中,免不了让我们获取文件的后缀名,通过后缀名来进行下一步的相关任务操作。

  文件后缀名(也称为文件扩展名)是指在文件名的最后一个句点之后的字符串,它提供了关于特定文件内容的信息,例如 .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();


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

http://www.lryc.cn/news/26769.html

相关文章:

  • UML常见图的总结
  • WebRTC系列-工具系列之音频相关工具
  • 7 线性回归及Python实现
  • 适合小团队协作、任务管理、计划和进度跟踪的项目任务管理工具有哪些?
  • 从100%进口到自主可控,从600块降到10块,中科院攻克重要芯片
  • 关于git的一些基本点总结
  • PyTorch保姆级安装教程
  • MySQL 上亿大表如何优化?
  • Git(狂神课堂笔记)
  • 「2」指针进阶,最详细指针和数组难题解题思路
  • 云服务器是做什么的?云服务器典型的应用场景介绍
  • 【论文随笔】Transfer of temporal logic formulas in reinforcement learning
  • 蓝桥杯-货物摆放
  • 10 种顶流聚类算法 Python 实现(附完整代码)
  • 微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。
  • 快速吃透π型滤波电路-LC-RC滤波器
  • 聊聊混沌工程
  • 做为骨干网络的分类模型的预训代码安装配置简单记录
  • 网络协议(九):应用层(域名、DNS、DHCP)
  • 有趣的小知识(三)提升网站速度的秘诀:掌握缓存基础,让你的网站秒开
  • SpringCloud之服务拆分和实现远程调用案例
  • mybatis: Invalid bound statement (not found): com.atguigu.dao.UserDao.save
  • JavaScript 代码规范
  • 6综合项目 旅游网 【6.我的收藏和收藏排行榜】
  • openpnp - error - 微调mark点坐标后,更新板子其他原件其他坐标报错的变通方法
  • 借助ChatGPT爆火,股价暴涨又暴跌后,C3.ai仍面临巨大风险
  • 蓝桥杯-数位排序
  • 【ES实战】ES 插件包离线安装(本地文件)
  • Spring的核心基础——IOC与DI
  • C++正则表达式基础