有几个项目中,都需要将图片或者数字证书的文件转为Base64,昨天写代码的时候,发现在jdk8中本就含有关于Base64的API。

从此后不再需要其他的jar包来转换Base64了!!!

据说是JDK8加入的。

先是将文件转为Base64:

 public String encryptToBase64(String filePath) {if (filePath == null) {return null;}try {byte[] b = Files.readAllBytes(Paths.get(filePath));return Base64.getEncoder().encodeToString(b);} catch (IOException e) {e.printStackTrace();}return null;}

Files、Paths类是JDK7里加入的,读取文件不再需要调用IO包里的FileInputStream,简单便捷。

字符串参数filePath是文件的路径。

首先是将文件读成二进制码,然后通过Base64.getEncoder().encodeToString()方法将二进制码转换为Base64值。

然后是将Base64转为文件:

 public String decryptByBase64(String base64, String filePath) {if (base64 == null && filePath == null) {return "生成文件失败,请给出相应的数据。";}try {Files.write(Paths.get(filePath), Base64.getDecoder().decode(base64),StandardOpenOption.CREATE);} catch (IOException e) {e.printStackTrace();}return "指定路径下生成文件成功!";}

字符串参数base64指的是文件的Base64值,filePath是指的文件将要保存的位置。

通过Files.write()方法轻松将文件写入指定位置,不再调用FileOutStream方法。

第三个参数StandardOpenOption.CREATE是处理文件的方式,我设置的是不管路径下有或没有,都创建这个文件,有则覆盖。

在StandardOpenOption类中有很多参数可调用,不再累赘。

Java8中文件转Base64和Base64转文件相关推荐

  1. java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作

    1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...

  2. 以Base64字符串形式上传文件——服务器端Java/Servlet接受请求数据中的字符串内容并转换成文件

    简述 在常规的web开发过程中,大部分上传文件都是在web页面端通过表单直接提交,再由服务器端捕获请求来进行处理的.但是在前后端分离趋于一种流行趋势,再加上Android和iOS开发技术日渐成熟,大部 ...

  3. java8中使用java.util.Base64报“java.lang.IllegalArgumentException: Illegal base64 character d”

    概述 Base64是一种字符串编码格式,采用了A-Z,a-z,0-9,"+"和"/"这64个字符来编码原始字符(还有垫字符"=").一个字符 ...

  4. java8新特性(7)— Base64

    java8新特性(7)- Base64 新增Base64工具类 package com.common.jdk8;import java.io.UnsupportedEncodingException; ...

  5. Base64方式上传文件

    文章目录 一.遇到的问题 二.将jar导入maven仓库 三.android客户端生成base64 四.Java接口base64转文件 一.遇到的问题 1.Java中直接使用spring框架提供的工具 ...

  6. linux中常用的加密总结--base64编码解码与openssl实现

    linux中常用的加密总结–base64编码解码与openssl实现 一.base64 !!!base64是一种数据编码方式,可逆,不是严格意义上的加密算法,不能作为安全加密使用 -d,–decode ...

  7. Css中路径data:image/png;base64的用法详解 (转载)

    大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: background-image:url(data:image/png;base64, iVBORw0KGg ...

  8. 通过文件url地址获取base64;通过图片url地址获取base64;js获取文件的base64

    本篇是通过url地址获取文件的base64 如果想要通过File文件获取base64查看这篇 以下代码可直接复制使用!注意第9行的图片地址更改下 <template><div cla ...

  9. 关于img标签中data:image/XXX;base64图片内容提取

    data类型URL图片类型 data:,<文本数据>data:text/plain,<文本数据>data:text/html,<HTML代码>data:text/h ...

最新文章

  1. IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析
  2. Python3 Selenium自动化web测试 == 第三节 常用WebDriver API使用示例上(24个API)
  3. 树形结构:二叉树,分治,合并子树,递归
  4. 写好一份数据分析报告的13个要点
  5. git 修改commit_Git从8到13 深入了解Git特性
  6. WMI介绍和应用查询硬件信息(硬盘信息、主板信息、BIOS信息、显示器信息、网络适配器、CPU信息)
  7. php 后期绑定,PHP __DIR__评估运行时(后期绑定)?
  8. 系统架构师学习笔记_第六章(下)_连载
  9. 国内外最顶级的8大plm项目管理系统
  10. linux进程3种状态,进程的三种状态及转换
  11. 乐有家携手法大大,实现租房签约数字化
  12. 【踩坑】python: This install of SoX cannot process .mp3 files
  13. eplan支持mysql_EPLAN软件平台系统和电脑要求
  14. 2509 Problem H:奇怪的分式
  15. linux 查看硬盘信息
  16. 伯努利分布(Bernoulli distribution)
  17. php正三角,php打印正三角形
  18. 直播、点播系统开发项目总结(本地视频、抓包视频、直播推流、网络直播、平台搭建等相关问题点记录)
  19. 大小非解禁(大小非解禁对股票的影响)
  20. 地铁供电系统原理图_高铁、地铁、火车供电工作原理

热门文章

  1. markdown编辑器typora如何显示文章字数统计
  2. 基于C语言的彩票开奖小程序(附源码)_☆*往事随風*☆的博客
  3. C语言数据结构,哪本书比较好用,配有完整代码
  4. 针对数能同传SWIPT的个人理解与总结Part1
  5. 看过的最好的护肤心得 续
  6. 【Mybatis】缓存
  7. MinIO与java集成
  8. C语言实现三种样式的九九乘法表
  9. android接听ios电话,有了这个神器,在PC上也能接听iPhone电话、收发短息啦(安卓也可以哦~)...
  10. 角色扮演游戏开发商利基游戏开发商如何创建充满活力的开发商社区