用Java语言将一个文件夹中的png文件转为jpg文件,导入和导出都在同一个文件夹。
使用时,只需要替换导入文件中的路径即可
//在这里替换为自己文件夹的绝对路径
File file = new File("C:\\Users\\sfnine\\Desktop\\taffy_jpg");
源码如下
public class ConvertImageFile {
public static void main(String[] args) {
BufferedImage bufferedImage;
try {
List<String> files = new ArrayList();
//在这里替换为自己文件夹的绝对路径
File file = new File("C:\\Users\\sfnine\\Desktop\\taffy_jpg");
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
files.add(tempList[i].toString());
}
if (tempList[i].isDirectory()) {
}
}
for (int i = 0; i < files.size(); i++) {
String inputStr = files.get(i);
String outputStr = files.get(i).substring(0, files.get(i).lastIndexOf(".")) + ".jpg";
bufferedImage = ImageIO.read(new File(inputStr));
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
//由于png格式是32位,jpg格式是24位,因此要进行位数转换
//TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null);
ImageIO.write(newBufferedImage, "jpg", new File(outputStr));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}