java 图片与字符串的转换

来源:互联网 发布:淘宝hd ipad历史版本 编辑:程序博客网 时间:2024/05/18 00:59
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) {  
String ss = getImageBinary();        System.out.println(ss);                       base64StringToImage(ss);       }              static String getImageBinary(){           String imgStr = "";        File f = new File("f://log123.jpg");                  BufferedImage bi;           try {               bi = ImageIO.read(f);               ByteArrayOutputStream baos = new ByteArrayOutputStream();               ImageIO.write(bi, "jpg", baos);               byte[] bytes = baos.toByteArray();                              imgStr = encoder.encodeBuffer(bytes).trim();              return imgStr;           } catch (IOException e) {               e.printStackTrace();           }           return null;       }              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("f://456.jpg");//可以是jpg,png,gif格式               ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动           } catch (IOException e) {               e.printStackTrace();           }       }     } 
图片在转化为字符串后,如果涉及远程json传输,需考虑json不识别特殊字符,例如“+”会转为“ ”,需在接口到报文之后做进一步replace处理。 
原地址:http://www.cnblogs.com/gengaixue/p/5035908.html
0 0
原创粉丝点击