文件流转换为base64码 和 base64码转换为文件流
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
例子说明一切
先写单元测试吧:单元测试的代码如下:
package test.com.cs;
import com.cs.Base64Convert;
import junit.framework.TestCase;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Logger;
public class TestBase64Convert extends TestCase {
Base64Convert baseCov = null;
public TestBase64Convert(String s) {
super(s);
}
protected void setUp() throws Exception {
baseCov = new Base64Convert();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testIoToBase64() {
try {
String strBase64 = baseCov.ioToBase64(); //将 io 转换为 base64编码
System.out.println(">>> "+strBase64);
baseCov.base64ToIo(strBase64); //将 base64编码转换为 io 文件流,生成一幅新图片
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
------------------------------------
package com.cs;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.*;
public class Base64Convert {
BASE64Decoder decoder = new BASE64Decoder();
public String ioToBase64() throws IOException {
String fileName = "d:/gril.gif"; //源文件
String strBase64 = null;
try {
InputStream in = new FileInputStream(fileName);
// in.available()返回文件的字节长度
byte[] bytes = new byte[in.available()];
// 将文件中的内容读入到数组中
in.read(bytes);
strBase64 = new BASE64Encoder().encode(bytes); //将字节流数组转换为字符串
in.close();
} catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return strBase64;
}
public void base64ToIo(String strBase64) throws IOException {
String string = strBase64;
String fileName = "d:/gril2.gif"; //生成的新文件
try {
// 解码,然后将字节转换为文件
byte[] bytes = new BASE64Decoder().decodeBuffer(string); //将字符串转换为byte数组
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
byte[] buffer = new byte[1024];
FileOutputStream out = new FileOutputStream(fileName);
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
out.write(buffer, 0, byteread); //文件写操作
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
执行截图:gril2.gif就是根据base64编码转换过来的,看到谷歌的这个美女总裁,就说明你的程序成功了
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
文件流转换为base64码 和 base64码转换为文件流相关推荐
- SpringBoot 二维码生成base64并上传OSS
SpringBoot 二维码生成base64并上传OSS 基础环境 SpringBoot.Maven 代码实现 1.添加依赖 <!--二维码生成 --> <dependency> ...
- matlab数据转换为tecplot格式[ASCII码格式下的plt文件]
matlab数据转换为tecplot格式[ASCII码格式下的plt文件] 1 tecplot能读取的的常见ASCII格式 1.1 文件格式与文件头 1.2 zone相关的格式 2 一维数据 3 二维 ...
- Springmvc html上传图片转码为base64通过ajax存入数据库中(纯html存储图片不能使用路径)完整过程
这篇文章主要内容:实现spring MVC +Mysql+html+ajax 一个完整的交互过程 [SpringMvc]从数据库读取用户信息,其中图片路径响应变成了text/html,导致图片无法显示 ...
- ASCII码 和 Base64编码
ASCII编码 简介 ASCII码(American Standard Code for Information Interchange, 美国信息互换标准代码) 是基于拉丁字母的一套电脑编码系统, ...
- 中文、\uxxxx、\x xx、base64的相互转码
中文与\u xxxx互转码 # 中文转\u xxxx name = '吴京' name1 = name.encode('unicode_escape') # b'\\u5434\\u4eac'# \u ...
- base64编码类------原始码(C#)
using system; namespace shapbse64 { /// <summary> /// 有关base64编码算法的相关操作 ///by 自由奔腾(wgscd) /// ...
- Java 生成在线二维码 以Base64返回前端
依赖的jar包主要是Google 的zxing 进行二维码的生成 <dependency><groupId>com.google.zxing</groupId>&l ...
- 微信小程序 icon图标 SVG代码转码为Base64编码格式并使用(霸霸看了都说好)
文章目录 SVG 简介 什么是SVG SVG有哪些优势 SVG在小程序中的使用 获取SVG资源 获取对应SVG代码 将SVG代码转码为Base64编码格式 在具体代码中引用SVG 展示效果 SVG 简 ...
- base64编码原理+源码
看一下Base64的索引表,字符选用了"A-Z.a-z.0-9.+./" 64个可打印字符.数值代表字符的索引,这个是标准Base64协议规定的,不能更改.64个字符用6个bit位 ...
- Lambda表达式,Stream流,方法引用,Base64(JDK8新特性)
Labda表达式 Lambda表达式演示 Lanbda表达式:是JDK1.8提出的一种新语法.是对之前的某种情况的代码的"简化写法". Lambda表达式演示: public cl ...
最新文章
- yolov3 -tf 解析数据
- 21-5-22校赛G 自行车调度
- design短语的用法总结_design的意思、用法、搭配和例句
- LeetCode 1171. 从链表中删去总和值为零的连续节点(哈希表)
- python list元素合并_Python-列表+-01-两个列表各元素合并
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌6.07%
- Java虚拟机(一)——内存管理
- python win32库与subprocess_python subprocess 模块使用(以及详解管道阻塞的坑)
- 斯坦福大学深度学习公开课cs231n学习笔记(8)神经网络学习过程中的检查事项和参数调优
- AE中图层叠加模式的中英对照及说明
- 嵌入式linux快速入门
- 【动画消消乐 】一个小清新类型的全局网页过渡动画 075
- java开源项目-SpringBoot在线教育平台
- 红外测距模块工作原理_红外测温仪方案工作原理
- excel 汇总运算后生成柱状图
- 1- mongoDB安装及基础
- js+ajax编码三级联动
- 【转】傅里叶分析之掐死教程(完整版)
- 利用scrapy爬取东方资讯的新闻
- js设置元素垂直居中
热门文章
- WPF 鼠标光标大全
- 规格型号、购方名称、地址备注等格式有误、特殊字符-无法开票?
- Java学习笔录3(变量和常量)
- SPSS MODELER
- 文件夹共享失败解决方式
- python编写年金现值计算函数_养老金中的钱是怎么算出来的?
- 怎么看rx580是不是470刷的_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
- 微信开启全民付费模式,我们有个共同好友叫“Feed广告”
- Store generated project files externally
- 一个留学中介的CRM案例