Java图片和二进制互转

| 阅读数:--次| 作者:小豆豆
摘要:Java图片和二进制互转,可以是jpg,png,gif格式
java代码
package com.webkfa.test;
/**
 * web开发技术提供
 * 网址:
 * http://www.webkfa.com
 */
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 Test {    
    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());    
    }    
        
    public static String getImageBinary(){    
        File f = new File("C:\\Documents and Settings\\zhouyingxi\\桌面\\temp\\QQ图片20140922135352.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;    
    }    
        
    public 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("c://QQ.bmp");//可以是jpg,png,gif格式    
            ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动    
        } catch (IOException e) {    
            e.printStackTrace();    
        }    
    }    
   
} 
返回顶部
学到老代码浏览 关闭浏览