论坛首页 编程语言技术论坛

Java图片和二进制互转

浏览 1279 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-10-29  

Java图片和二进制互转,可以是jpg,png,gif格式

package com.webkfa.test;
/**
 *
 * @author songlei
 */
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();    
        }    
    }    
   
} 

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics