首页 > 编程 > Java > 正文

实例详解Java实现图片与base64字符串之间的转换

2019-11-26 13:22:32
字体:
来源:转载
供稿:网友

废话不多说了,直接给大家贴java实现图片与base84字符串之间的转换代码了,具体代码如下所示:

package cn.com; import <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java SE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Test  {   public static void main(String[] args)   {     String strImg = GetImageStr();     System.out.println(strImg);     GenerateImage(strImg);   }   //图片转化成base64字符串   public static String GetImageStr()   {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理     String imgFile = "d://test.jpg";//待处理的图片     InputStream in = null;     byte[] data = null;     //读取图片字节数组     try      {       in = new FileInputStream(imgFile);           data = new byte[in.available()];       in.read(data);       in.close();     }      catch (IOException e)      {       e.printStackTrace();     }     //对字节数组Base64编码     BASE64Encoder encoder = new BASE64Encoder();     return encoder.encode(data);//返回Base64编码过的字节数组字符串   }   //base64字符串转化成图片   public static boolean GenerateImage(String imgStr)   {  //对字节数组字符串进行Base64解码并生成图片     if (imgStr == null) //图像数据为空       return false;     BASE64Decoder decoder = new BASE64Decoder();     try      {       //Base64解码       byte[] b = decoder.decodeBuffer(imgStr);       for(int i=0;i<b.length;++i)       {         if(b[i]<0)         {//调整异常数据           b[i]+=256;         }       }       //生成jpeg图片       String imgFilePath = "d://222.jpg";//新生成的图片       OutputStream out = new FileOutputStream(imgFilePath);         out.write(b);       out.flush();       out.close();       return true;     }      catch (Exception e)      {       return false;     }   } } 

以上所述是小编给大家介绍的Java实现图片与base64字符串之间的转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表