java BASE64处理

简介: java BASE64处理
package org.fh.util;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.codec.binary.Base64;
/**
 * 说明:BASE64处理
 * 作者:FH Admin
 * from:fhadmin.cn
 */
public class ImageAnd64Binary {
  public static void main(String[] args) {
    String imgSrcPath = "H:/1.jpg";     // 生成64编码的图片的路径
    String imgCreatePath = "H:/123.png";  // 将64编码生成图片的路径
    imgCreatePath = imgCreatePath.replaceAll("\\\\", "/");
    System.out.println(imgCreatePath);
    String strImg = getImageStr(imgSrcPath);
    System.out.println(strImg);
    generateImage(strImg, imgCreatePath);
  }
  /**
   * 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
   * 
   * @param imgSrcPath
   *            生成64编码的图片的路径
   * @return
   */
  public static String getImageStr(String imgSrcPath) {
    InputStream in = null;
    byte[] data = null;
    // 读取图片字节数组
    try {
      in = new FileInputStream(imgSrcPath);
      data = new byte[in.available()];
      in.read(data);
      in.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    // 对字节数组Base64编码
    return Base64.encodeBase64String(data);// 返回Base64编码过的字节数组字符串
  }
  /**
   * 对字节数组字符串进行Base64解码并生成图片
   * 
   * @param imgStr
   *            转换为图片的字符串
   * @param imgCreatePath
   *            将64编码生成图片的路径
   * @return
   */
  public static boolean generateImage(String imgStr, String imgCreatePath) {
    if (imgStr == null) // 图像数据为空
      return false;
    try {
      // Base64解码
      byte[] b = Base64.decodeBase64(imgStr);
      for (int i = 0; i < b.length; ++i) {
        if (b[i] < 0) {// 调整异常数据
          b[i] += 256;
        }
      }
      OutputStream out = new FileOutputStream(imgCreatePath);
      out.write(b);
      out.flush();
      out.close();
      return true;
    } catch (Exception e) {
      return false;
    }
  }
}

 

目录
打赏
0
0
0
0
6
分享
相关文章
java用base64编码案例
Java Base64编码示例:导入`java.util.Base64`,设置字符串`originalString`,使用`Base64.getEncoder().encodeToString()`编码并存储到`encodedString`,打印编码后字符串。解码用`Base64.getDecoder().decode()`。
95 0
使用Java进行Base64编码的示例
使用Java进行Base64编码的示例
218 1
Java技术栈揭秘:Base64加密和解密文件的实战案例
以上就是我们今天关于Java实现Base64编码和解码的实战案例介绍。希望能对你有所帮助。还有更多知识等待你去探索和学习,让我们一同努力,继续前行!
170 5
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
204 22
"Java编码魔法:揭秘图片与文件的Base64神秘转换术,让数据在指尖跳跃!"
【8月更文挑战第16天】Base64编码在Java开发中常用于将二进制数据如图片转换为ASCII字符串以便传输。编码使用64个字符及等号填充,每3字节数据编码为4个字符。Java利用`java.util.Base64`类实现此功能:读取图片或文件为字节数组后进行编码。解码时将Base64字符串还原为字节数组并写入文件。需注意编码效率降低、不提供安全性及特殊字符兼容性等问题。掌握这些技巧有助于解决Web开发中的数据传输需求。
355 4
|
11月前
|
Java 图片、文件 Base64 互转
Java 图片、文件 Base64 互转
174 0
Java如何进行Base64的编码(Encode)与解码(Decode)?
Java如何进行Base64的编码(Encode)与解码(Decode)?
706 1
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。
419 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问