Java批量png转jpg图片格式


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