package com.dy.pipIrrWebFile.util; import net.coobird.thumbnailator.Thumbnails; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.InputStream; /** * 生成图片的缩略图 */ public class ZipImg { public static InputStream zipToJpg(File file, int xSize, int ySize) throws Exception{ return zip(file, "jpg", xSize, ySize) ; } public static InputStream zipToPng(File file, int xSize, int ySize) throws Exception{ return zip(file, "png", xSize, ySize) ; } public static void zipToFile(File file, File toFile, int xSize, int ySize) throws Exception{ Thumbnails.of(file).size(xSize, ySize).outputQuality(0.5f).toFile(toFile);//0f-1f 质量越高 } private static InputStream zip(File file, String type, int xSize, int ySize) throws Exception{ BufferedImage bi = Thumbnails.of(file).size(xSize, ySize).outputQuality(1f).asBufferedImage(); ByteArrayOutputStream os = new ByteArrayOutputStream(); ImageIO.write(bi, type, os); InputStream in = new ByteArrayInputStream(os.toByteArray()); bi = null ; os = null ; return in ; } public static void main(String[] args){ File f = new File("D:/test.jpg") ; String name = f.getName() ; String path = f.getPath() ; System.out.println(name); System.out.println(path); int index = path.lastIndexOf(".") ; String s1 = path.substring(0, index) ; String s2 = path.substring(index) ; System.out.println(s1); System.out.println(s2); String newFilePath = s1 + "_" + s2 ; try { InputStream input = zipToJpg(f, 400, 400) ; new FileUtil().saveFile(newFilePath, input) ; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }