一文總結(jié)Java獲取文件后綴名的所有方法
一、研究背景
在我們實(shí)際的項(xiàng)目開發(fā)中,我們會(huì)經(jīng)常對(duì)文件進(jìn)行相關(guān)任務(wù)的操作,具體的開發(fā)環(huán)節(jié)中,免不了讓我們獲取文件的后綴名,通過后綴名來進(jìn)行下一步的相關(guān)任務(wù)操作。
文件后綴名(也稱為文件擴(kuò)展名)是指在文件名的最后一個(gè)句點(diǎn)之后的字符串,它提供了關(guān)于特定文件內(nèi)容的信息,例如 .jpg 表示 JPG 圖像文件,.txt 表示文本文件,等等。因此,本文總結(jié)了目前 Java 中常見的一些獲取文件后綴名的方法。
二、常用方法
在這里我們?cè)O(shè)定一個(gè)文件名稱 fileName,便于我們下面各方法獲取后綴都統(tǒng)一用這個(gè)文件名稱。
文件名稱 fileName 代碼如下:
String fileName = "first.jpg";
1、使用 String.substring() 截取
首先,使用 String.lastIndexOf() 方法可以獲取文件名中最后一個(gè)句點(diǎn)(.)的索引值,然后使用String.substring() 方法來獲取文件后綴名,代碼如下:
String suffix = fileName.substring(fileName.lastIndexOf("."));
運(yùn)行結(jié)果為:“.jpg”【包括點(diǎn)】。
2、使用 String.split() 分割
分隔符可以是任意字符、符號(hào)、數(shù)字、字符串等。
如果用 “.” 作為分隔的話,必須是如下寫法,通過轉(zhuǎn)義字符才能正確的分隔開,不能用 String.split(".")
String suffix=fileName.split("\\.")[fileName.split("\\.").length-1];
運(yùn)行結(jié)果為:“jpg”【不包括點(diǎn)】。
3、使用 java 的正則表達(dá)
String suffix = fileName.replaceAll(".*(\\..*)","$1");
運(yùn)行結(jié)果為:“.jpg”【包括點(diǎn)】。
4、使用 commons.io.FilenameUtils 類
在項(xiàng)目頭部添加: import org.apache.commons.io.FilenameUtils;
String suffix = FilenameUtils.getExtension(fileName);
運(yùn)行結(jié)果為:“jpg”【不包括點(diǎn)】。
5、使用 util.StringUtils 類
在項(xiàng)目頭部添加:import org.springframework.util.StringUtils;
String suffix = StringUtils.getFilenameExtension(fileName);
運(yùn)行結(jié)果為:“jpg”【不包括點(diǎn)】。
6、使用 java.nio.file.Paths 類
使用 java.nio.file.Paths 類可以輕松獲取文件擴(kuò)展名,代碼如下:
String suffix= Paths.get(fileName).getFileName().toString();
字符串后綴 = Paths.get(文件名).getFileName().toString();
總結(jié)
到此這篇關(guān)于Java獲取文件后綴名的所有方法的文章就介紹到這了,更多相關(guān)Java獲取文件后綴名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java開發(fā)人員最常犯的10個(gè)錯(cuò)誤
這篇文章主要介紹了Java開發(fā)人員最常犯的10個(gè)錯(cuò)誤,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Springboot之自定義全局異常處理的實(shí)現(xiàn)
這篇文章主要介紹了Springboot之自定義全局異常處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08基于IDEA創(chuàng)建SpringMVC項(xiàng)目流程圖解
這篇文章主要介紹了基于IDEA創(chuàng)建SpringMVC項(xiàng)目流程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10SpringBoot 在項(xiàng)目啟動(dòng)之后執(zhí)行自定義方法的兩種方式小結(jié)
這篇文章主要介紹了SpringBoot 在項(xiàng)目啟動(dòng)之后執(zhí)行自定義方法的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09vue?vxe-table?實(shí)現(xiàn)財(cái)務(wù)記賬憑證的方案
使用?vxe-table?實(shí)現(xiàn)財(cái)務(wù)記賬憑證非常簡(jiǎn)單,實(shí)現(xiàn)在線實(shí)時(shí)編輯的記賬憑證、自動(dòng)合計(jì)金額等,這篇文章主要介紹了vue?vxe-table?實(shí)現(xiàn)財(cái)務(wù)記賬憑證的方案,需要的朋友可以參考下2024-12-12Spring實(shí)現(xiàn)擁有者權(quán)限驗(yàn)證的方法示例
這篇文章主要介紹了Spring實(shí)現(xiàn)擁有者權(quán)限驗(yàn)證的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03springmvc九大組件之HandlerAdapter詳解
這篇文章主要介紹了springmvc九大組件之HandlerAdapter詳解,RequestMappingHandlerAdapter支持的handler的類型是HandlerMethod,而HandlerMethod是通過解析@RequestMapping注解獲得的,需要的朋友可以參考下2023-11-11