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
类会更为方便;如果希望避免额外的依赖,那么lastIndexOf
和substring
方法或split
方法则是不错的选择。
以上就是Java获取MultipartFile文件后缀名的多种方法的详细内容,更多关于Java获取MultipartFile后缀名的资料请关注编程客栈(www.devze.com)其它相关文章!
精彩评论