java实现图片与base64编码的转换

编码与解码

54人已加入

描述

  这篇文章主要介绍了Java实现图片与base64编码之间的转换实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下

  代码:

  import java.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 Base64Image

  {

  public static void main(String[] args)

  {

  // 测试从Base64编码转换为图片文件

  String strImg = GetImageStr();

  GenerateImage(strImg, “D:\\wangyc.jpg”);

  // 测试从图片文件转换为Base64编码

  System.out.println(GetImageStr(“d:\\wangyc.jpg”));

  }

  public static String GetImageStr(String imgFilePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理

  byte[] data = null;

  // 读取图片字节数组

  Try

  {

  InputStream in = new FileInputStream(imgFilePath);

  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编码过的字节数组字符串

  }

  public static boolean GenerateImage(String imgStr, String imgFilePath) {// 对字节数组字符串进行Base64解码并生成图片

  if (imgStr == null) // 图像数据为空

  return false;

  BASE64Decoder decoder = new BASE64Decoder();

  try

  {

  // Base64解码

  byte[] bytes = decoder.decodeBuffer(imgStr);

  for (int i = 0; i 《 bytes.length; ++i)

  {

  if (bytes[i] 《 0) {// 调整异常数据

  bytes[i] += 256;

  }

  }

  // 生成jpeg图片

  OutputStream out = new FileOutputStream(imgFilePath);

  out.write(bytes);

  out.flush();

  out.close();

  return true;

  } catch (Exception e)

  {

  return false;

  }

  }

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分