Java实现图片与二进制的互相转换

本文实例为大家分享了Java将图片转二进制再将二进制转成图片,供大家参考,具体内容如下

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(){  
    File f = new File("c://20090709442.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;  
  }  
    
  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,w2);//不管输出什么格式图片,此处不需改动  
    } catch (IOException e) {  
      e.printStackTrace();  
    }  
  }  
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

相关文章

本文从从Bitcask存储模型讲起,谈轻量级KV系统设计与实现。从...
内部的放到gitlab pages的博客,需要统计PV,不蒜子不能准确...
PCM 自然界中的声音非常复杂,波形极其复杂,通常我们采用的...
本文介绍如何离线生成sst并在线加载,提供一种用rocksdb建立...
验证用户输入是否正确是我们应用程序中的常见功能。Spring提...
引入pdf2dom <dependency> <groupId&a...