java中图片的二进制转换

package com.oumyye.图片;
import java.awt.image.BufferedImage;    
import java.io.ByteArrayInputStream;    
import java.io.ByteArrayOutputStream;    
import java.io.File;    
import java.io.IOException;    
   
import javax.imageio.ImageIO;    
   
import sun.misc.BASE64Decoder;    
import sun.misc.BASE64Encoder;    
  






public class TestImageBinary {    
   static BASE64Encoder encoder = new sun.misc.BASE64Encoder();    
   static BASE64Decoder decoder = new sun.misc.BASE64Decoder();    
   
public static void main(String[] args) {    
    System.out.println(getImageBinary());    
        
    base64StringToImage(getImageBinary());    
}    
    /**
     * 将图片转换成二进制
     * @return
     */
static String getImageBinary(){    
    File f = new File("e:/1.jpg");           
    BufferedImage bi;    
    try {    
        bi = ImageIO.read(f);    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();    
        ImageIO.write(bi, "jpg", baos);    
        byte[] bytes = baos.toByteArray();    
            
        return encoder.encodeBuffer(bytes).trim();    
    } catch (IOException e) {    
        e.printStackTrace();    
    }    
    return null;    
}    
    
/**
 * 将二进制转换为图片
 * @param base64String
 */
static void base64StringToImage(String base64String){    
    try {    
        byte[] bytes1 = decoder.decodeBuffer(base64String);    
            
        ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);    
        BufferedImage bi1 =ImageIO.read(bais);    
        File w2 = new File("e://QQ.jpg");//可以是jpg,png,gif格式    
        ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动    
    } catch (IOException e) {    
        e.printStackTrace();    
    }    
}    

}

猜你喜欢

转载自blog.csdn.net/weixin_42325823/article/details/88423511