Java8中文件转Base64和Base64转文件
有几个项目中,都需要将图片或者数字证书的文件转为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转文件相关推荐
- java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...
- 以Base64字符串形式上传文件——服务器端Java/Servlet接受请求数据中的字符串内容并转换成文件
简述 在常规的web开发过程中,大部分上传文件都是在web页面端通过表单直接提交,再由服务器端捕获请求来进行处理的.但是在前后端分离趋于一种流行趋势,再加上Android和iOS开发技术日渐成熟,大部 ...
- java8中使用java.util.Base64报“java.lang.IllegalArgumentException: Illegal base64 character d”
概述 Base64是一种字符串编码格式,采用了A-Z,a-z,0-9,"+"和"/"这64个字符来编码原始字符(还有垫字符"=").一个字符 ...
- java8新特性(7)— Base64
java8新特性(7)- Base64 新增Base64工具类 package com.common.jdk8;import java.io.UnsupportedEncodingException; ...
- Base64方式上传文件
文章目录 一.遇到的问题 二.将jar导入maven仓库 三.android客户端生成base64 四.Java接口base64转文件 一.遇到的问题 1.Java中直接使用spring框架提供的工具 ...
- linux中常用的加密总结--base64编码解码与openssl实现
linux中常用的加密总结–base64编码解码与openssl实现 一.base64 !!!base64是一种数据编码方式,可逆,不是严格意义上的加密算法,不能作为安全加密使用 -d,–decode ...
- Css中路径data:image/png;base64的用法详解 (转载)
大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: background-image:url(data:image/png;base64, iVBORw0KGg ...
- 通过文件url地址获取base64;通过图片url地址获取base64;js获取文件的base64
本篇是通过url地址获取文件的base64 如果想要通过File文件获取base64查看这篇 以下代码可直接复制使用!注意第9行的图片地址更改下 <template><div cla ...
- 关于img标签中data:image/XXX;base64图片内容提取
data类型URL图片类型 data:,<文本数据>data:text/plain,<文本数据>data:text/html,<HTML代码>data:text/h ...
最新文章
- 树的高度(小米2017秋招真题)
- ISCW实验:配置Cisco IOS EASY ××× Server和Cisco ××× Client
- Angularjs相关文章地址
- html里五角星怎么打,html怎么显示五角星 几分给几个五角星
- OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
- java 超时集合_Java之集合(二十三)SynchronousQueue
- 勇敢一次_开放网络需要勇敢的新英雄吗?
- 聊聊时间管理,不是多人运动那种
- MySQL 到底能不能放到 Docker 里跑?
- HTML5的新的结构元素介绍
- t检验自由度的意义_t检验的原理是什么?有什么意义?谢谢
- 出版物设计排版工具:Swift Publisher 5 for Mac
- CVPR2021 视频目标检测论文推荐
- STM32G070RBT6迷你开发板制作总结
- Python中os.sep的用法
- Vue实现Google登录
- 如何成为一个软件构架师
- Java - 关于HashMap通过keySet遍历kv的二次调用问题
- 做短视频剪辑的两种配音方法
- 在电脑上限制他人网速--需要同一个区域网