千家信息网

基于Java如何实现文件和base64字符串转换

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"基于Java如何实现文件和base64字符串转换",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"基于Java如何实现文件和base
千家信息网最后更新 2026年11月02日基于Java如何实现文件和base64字符串转换

这篇文章主要为大家展示了"基于Java如何实现文件和base64字符串转换",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"基于Java如何实现文件和base64字符串转换"这篇文章吧。

这篇文章主要介绍了基于Java实现文件和base64字符串转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

项目中遇到需要将图片转成base64编码的字符串的需求,但是,考虑到扩展性,写了一个可以转换任务类型文件的方法。需要引入的包:

      commons-codec      commons-codec      1.13    

源码如下:

import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;  import java.io.*;  public class Base64FileUtil {    private static String targetFilePath = "E:\\base2Img\\target\\test.txt";    public static void main(String[] args) throws Exception {    String fileStr = getFileStr("E:\\base2Img\\big test.txt");    System.out.println("fileStr ===" + fileStr);    System.out.println(generateFile(fileStr, targetFilePath));    System.out.println("end");  }    /**   * 文件转化成base64字符串   * 将文件转化为字节数组字符串,并对其进行Base64编码处理   */  public static String getFileStr(String filePath) {    InputStream in = null;    byte[] data = null;    // 读取文件字节数组    try {      in = new FileInputStream(filePath);      data = new byte[in.available()];      in.read(data);      in.close();    } catch (IOException e) {      e.printStackTrace();    } finally {      try {        in.close();      } catch (IOException e) {        e.printStackTrace();      }    }    // 对字节数组Base64编码    BASE64Encoder encoder = new BASE64Encoder();    // 返回 Base64 编码过的字节数组字符串    return encoder.encode(data);  }    /**   * base64字符串转化成文件,可以是JPEG、PNG、TXT和AVI等等   *   * @param base64FileStr   * @param filePath   * @return   * @throws Exception   */  public static boolean generateFile(String base64FileStr, String filePath) throws Exception {    // 数据为空    if (base64FileStr == null) {      System.out.println(" 不行,oops! ");      return false;    }    BASE64Decoder decoder = new BASE64Decoder();      // Base64解码,对字节数组字符串进行Base64解码并生成文件    byte[] byt = decoder.decodeBuffer(base64FileStr);    for (int i = 0, len = byt.length; i < len; ++i) {      // 调整异常数据      if (byt[i] < 0) {        byt[i] += 256;      }    }    OutputStream out = null;    InputStream input = new ByteArrayInputStream(byt);    try {      // 生成指定格式的文件      out = new FileOutputStream(filePath);      byte[] buff = new byte[1024];      int len = 0;      while ((len = input.read(buff)) != -1) {        out.write(buff, 0, len);      }    } catch (IOException e) {      e.printStackTrace();    } finally {      out.flush();      out.close();    }    return true;  } }

以上是"基于Java如何实现文件和base64字符串转换"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 字符 字符串 字节 数组 篇文章 编码 学习 内容 数据 参考 帮助 生成 不行 代码 价值 任务 图片 扩展性 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 互联网科技工作委员会 中国互联网科技股 互联网品科技 关于新基建和互联网科技 为想互联网科技 万达互联网科技 济南和联互联网科技有限公司 北京三清互联网科技 互联网科技产品 济南华为互联网科技产业总部基地 欧洲十大科技互联网公司 允成互联网科技有限公司融资 无锡工业互联网科技有限公司 广东工业互联网大赛深圳学泰科技 广州互联网高科技取餐柜 互联网科技接地气 中国互联网公司的科技投入 唐山双旺合互联网科技产业园 互联网科技快速发展优美句子 保险科技 互联网保险 互联网科技深圳 互联网科技公司电话 互联网金融监管科技 恒生科技互联网指数分析 中国互联网有什么科技含量 玉溪互联网科技怎么选 深圳市优智互联网科技有限公司 上海科技产业互联网平台 唐山双旺合互联网科技产业园
0