java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 Java 实现图片与 base64 字符串之间的转换实例代码, 非常不错, 具有参考借鉴价值, 需要的朋友参考下
废话不多说了, 直接给大家贴 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;
- }
- }
- }
来源: http://www.phperz.com/article/18/0219/359040.html