最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java獲取MultipartFile文件后綴名的多種方法

 更新時(shí)間:2025年06月27日 09:18:17   作者:墨瑾軒  
Java處理MultipartFile獲取后綴名的方法包括字符串操作、正則、Apache CommonsIO、Spring StringUtils等,建議根據(jù)項(xiàng)目依賴和需求選擇合適方式,本文通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

在Java中,處理MultipartFile對(duì)象時(shí),獲取文件后綴名是一個(gè)常見(jiàn)的需求。以下是幾種常用的方法:

使用lastIndexOf和substring方法:

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    if (originalFilename == null || originalFilename.isEmpty()) {
        return "";
    }
    int dotIndex = originalFilename.lastIndexOf('.');
    if (dotIndex == -1 || dotIndex == originalFilename.length() - 1) {
        return "";
    }
    return originalFilename.substring(dotIndex + 1).toLowerCase();
}

使用split方法:

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    if (originalFilename == null) {
        return "";
    }
    String[] parts = originalFilename.split("\\.");
    return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : "";
}

使用正則表達(dá)式:

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    if (originalFilename == null) {
        return "";
    }
    Pattern pattern = Pattern.compile("\\.(\\w+)$");
    Matcher matcher = pattern.matcher(originalFilename);
    return matcher.find() ? matcher.group(1).toLowerCase() : "";
}

使用Apache Commons IO的FilenameUtils類:

import org.apache.commons.io.FilenameUtils;

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    return FilenameUtils.getExtension(originalFilename).toLowerCase();
}

使用Spring框架的StringUtils類:

import org.springframework.util.StringUtils;

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    return StringUtils.getFilenameExtension(originalFilename);
}

使用File類:

import java.io.File;

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    if (originalFilename == null) {
        return "";
    }
    File tempFile = new File(originalFilename);
    String name = tempFile.getName();
    int dotIndex = name.lastIndexOf('.');
    return (dotIndex > 0 && dotIndex < name.length() - 1) 
        ? name.substring(dotIndex + 1).toLowerCase() 
        : "";
}

使用Java NIO的Paths類:

import java.nio.file.Path;
import java.nio.file.Paths;

public static String getExtension(MultipartFile file) {
    if (file == null) {
        return "";
    }
    String originalFilename = file.getOriginalFilename();
    if (originalFilename == null) {
        return "";
    }
    Path path = Paths.get(originalFilename);
    String name = path.getFileName().toString();
    return name.substring(name.lastIndexOf('.') + 1).toLowerCase();
}

這些方法各有優(yōu)缺點(diǎn),可以根據(jù)具體需求和項(xiàng)目環(huán)境選擇合適的方法。例如,如果項(xiàng)目已經(jīng)使用了Spring框架,那么使用StringUtils類會(huì)更為方便;如果希望避免額外的依賴,那么lastIndexOfsubstring方法或split方法則是不錯(cuò)的選擇。

以上就是Java獲取MultipartFile文件后綴名的多種方法的詳細(xì)內(nèi)容,更多關(guān)于Java獲取MultipartFile后綴名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于java SSM springboot實(shí)現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    基于java SSM springboot實(shí)現(xiàn)景區(qū)行李寄存管理系統(tǒng)

    這篇文章主要介紹了基于java SSM springboot實(shí)現(xiàn)的景區(qū)行李寄存管理系統(tǒng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • SpringBoot的三大開(kāi)發(fā)工具小結(jié)

    SpringBoot的三大開(kāi)發(fā)工具小結(jié)

    本文主要介紹了SpringBoot的三大開(kāi)發(fā)工具,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • 如何解決LocalDateTime傳值JSON格式化問(wèn)題

    如何解決LocalDateTime傳值JSON格式化問(wèn)題

    這篇文章主要介紹了如何解決LocalDateTime傳值JSON格式化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java中關(guān)于String的兩種賦值方式

    Java中關(guān)于String的兩種賦值方式

    這篇文章主要介紹了Java中關(guān)于String的兩種賦值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MyBatis使用自定義TypeHandler轉(zhuǎn)換類型的實(shí)現(xiàn)方法

    MyBatis使用自定義TypeHandler轉(zhuǎn)換類型的實(shí)現(xiàn)方法

    這篇文章主要介紹了MyBatis使用自定義TypeHandler轉(zhuǎn)換類型的實(shí)現(xiàn)方法,本文介紹使用TypeHandler 實(shí)現(xiàn)日期類型的轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 使用maven工具解決jar包沖突或重復(fù)加載的問(wèn)題

    使用maven工具解決jar包沖突或重復(fù)加載的問(wèn)題

    這篇文章主要介紹了使用maven工具解決jar包沖突或重復(fù)加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • SpringCloud實(shí)現(xiàn)權(quán)限管理(網(wǎng)關(guān)+jwt版)

    SpringCloud實(shí)現(xiàn)權(quán)限管理(網(wǎng)關(guān)+jwt版)

    本文主要介紹了SpringCloud實(shí)現(xiàn)權(quán)限管理(網(wǎng)關(guān)+jwt版),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-10-10
  • 詳解Java中日志跟蹤的簡(jiǎn)單實(shí)現(xiàn)

    詳解Java中日志跟蹤的簡(jiǎn)單實(shí)現(xiàn)

    MDC?(Mapped?Diagnostic?Context,映射調(diào)試上下文)是?log4j??、logback及l(fā)og4j2??提供的一種方便在多線程條件下記錄日志的功能。本文將利用MDC實(shí)現(xiàn)簡(jiǎn)單的日志跟蹤,需要的可以參考一下
    2022-08-08
  • idea安裝漢化插件的圖文教程

    idea安裝漢化插件的圖文教程

    本文主要介紹了idea安裝漢化插件的圖文教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SpringBoot整合FastJson過(guò)程解析

    SpringBoot整合FastJson過(guò)程解析

    這篇文章主要介紹了SpringBoot整合FastJson過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

临夏县| 德江县| 密山市| 建德市| 大同县| 安顺市| 德州市| 闻喜县| 鱼台县| 城固县| 崇明县| 望奎县| 安龙县| 南丰县| 周宁县| 高雄市| 资兴市| 西充县| 郎溪县| 临西县| 会理县| 西充县| 铜鼓县| 霍城县| 菏泽市| 中方县| 武汉市| 鸡西市| 和政县| 凤山县| 阳西县| 凌源市| 高青县| 罗平县| 阿尔山市| 铜陵市| 南江县| 谢通门县| 新邵县| 承德市| 萍乡市|