开发者

Java获取MultipartFile文件后缀名的多种方法

目录
  • 使用lastIndexOf和substring方法:
  • 使用split方法:
  • 使用正则表达式:
  • 使用Apache Commons IO的FilenameUtils类:
  • 使用Spring框架的StringUtils类:
  • 使用File类:
  • 使用Java NIO的Paths类:

在Java编程中,处理MultipartFile对象时,获取文件后缀名是一个常见的需求。以下是几种常用的方法:

使用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() : "";
}

使用正则表达式:

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) {
        rethttp://www.devze.comurn "";
    }
    String originalFilename = file.getOriginalFilenamejs();
    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(MultipjavascriptartFile 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();
}

这些方法各有优缺点,可以根据具体需求和项目环境选择合适的方法。例如,如果项目已经使用了Spring框架,那么使用StringUtils类会更为方便;如果希望避免额外的依赖,那么lastIndexOfsubstring方法或split方法则是不错的选择。

以上就是Java获取MultipartFile文件后缀名的多种方法的详细内容,更多关于Java获取MultipartFile后缀名的资料请关注编程客栈(www.devze.com)其它相关文章!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜