最近项目遇到一些图片格式的问题,于是就写下这边博客,帮助记忆,代码如下:
public static void main(String[] args) {
//原文件路径
String src = "C:\\Users\\admin\\Desktop\\345.jpeg";
//修改后文件路径
String path = "C:\\Users\\admin\\Desktop\\";
//要转换的文件后缀名
String FileSuffix = "jpg";
//源文件
File input;
//输出文件
File output;
try {
input = new File(src);
//文件后缀名
String suffix = src.substring(src.lastIndexOf("."));
System.out.println("**转换前的文件**"+input);
if(suffix.equalsIgnoreCase(".jpg") || suffix.equalsIgnoreCase(".png")) {
return ;
}
BufferedImage bim = ImageIO.read(input);
//文件前缀名
//String prefix = src.substring(0,src.lastIndexOf("."));
//上传文件名
String fileName = UUID.randomUUID() + "." + FileSuffix;
output = new File(path + fileName);
ImageIO.write(bim, FileSuffix, output);
logger.info("【图片格式转换】信息: {}", path + fileName);
System.out.println("--转换后的文件--"+output);
} catch (Exception e) {
throw new ApiException("图片格式转换错误", e);
}
}
测试结果:
**转换前的文件**C:\Users\admin\Desktop\345.jpeg
17:43:27.031 [main] INFO cn.service.imp.FileImp - 【图片格式转换】信息: C:\Users\admin\Desktop\efea9cc4-7dc8-4fec-a154-2c9a6efa7619.jpg
--转换后的文件--C:\Users\admin\Desktop\efea9cc4-7dc8-4fec-a154-2c9a6efa7619.jpg