图片文件和二进制流的转换

来源:互联网 发布:13年总决赛格林数据 编辑:程序博客网 时间:2024/05/23 19:13
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());       }              static String getImageBinary(String url){           File f = new File(url);                  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;       }              static void base64StringToImage(String base64String,String url){           try {               byte[] bytes = decoder.decodeBuffer(base64String);                              ByteArrayInputStream bais = new ByteArrayInputStream(bytes);               BufferedImage bi =ImageIO.read(bais);               File w = new File(url);//可以是jpg,png,gif格式               ImageIO.write(bi, "jpg", w);//不管输出什么格式图片,此处不需改动           } catch (IOException e) {               e.printStackTrace();           }       }     }  

0 0