分享一下我老师大神的人工智能教程!零基础,通俗易懂!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码转换为文件流相关推荐

  1. SpringBoot 二维码生成base64并上传OSS

    SpringBoot 二维码生成base64并上传OSS 基础环境 SpringBoot.Maven 代码实现 1.添加依赖 <!--二维码生成 --> <dependency> ...

  2. matlab数据转换为tecplot格式[ASCII码格式下的plt文件]

    matlab数据转换为tecplot格式[ASCII码格式下的plt文件] 1 tecplot能读取的的常见ASCII格式 1.1 文件格式与文件头 1.2 zone相关的格式 2 一维数据 3 二维 ...

  3. Springmvc html上传图片转码为base64通过ajax存入数据库中(纯html存储图片不能使用路径)完整过程

    这篇文章主要内容:实现spring MVC +Mysql+html+ajax 一个完整的交互过程 [SpringMvc]从数据库读取用户信息,其中图片路径响应变成了text/html,导致图片无法显示 ...

  4. ASCII码 和 Base64编码

    ASCII编码 简介 ASCII码(American Standard Code for Information Interchange, 美国信息互换标准代码) 是基于拉丁字母的一套电脑编码系统, ...

  5. 中文、\uxxxx、\x xx、base64的相互转码

    中文与\u xxxx互转码 # 中文转\u xxxx name = '吴京' name1 = name.encode('unicode_escape') # b'\\u5434\\u4eac'# \u ...

  6. base64编码类------原始码(C#)

    using system; namespace shapbse64 { /// <summary> /// 有关base64编码算法的相关操作 ///by 自由奔腾(wgscd) /// ...

  7. Java 生成在线二维码 以Base64返回前端

    依赖的jar包主要是Google 的zxing 进行二维码的生成 <dependency><groupId>com.google.zxing</groupId>&l ...

  8. 微信小程序 icon图标 SVG代码转码为Base64编码格式并使用(霸霸看了都说好)

    文章目录 SVG 简介 什么是SVG SVG有哪些优势 SVG在小程序中的使用 获取SVG资源 获取对应SVG代码 将SVG代码转码为Base64编码格式 在具体代码中引用SVG 展示效果 SVG 简 ...

  9. base64编码原理+源码

    看一下Base64的索引表,字符选用了"A-Z.a-z.0-9.+./" 64个可打印字符.数值代表字符的索引,这个是标准Base64协议规定的,不能更改.64个字符用6个bit位 ...

  10. Lambda表达式,Stream流,方法引用,Base64(JDK8新特性)

    Labda表达式 Lambda表达式演示 Lanbda表达式:是JDK1.8提出的一种新语法.是对之前的某种情况的代码的"简化写法". Lambda表达式演示: public cl ...

最新文章

  1. yolov3 -tf 解析数据
  2. 21-5-22校赛G 自行车调度
  3. design短语的用法总结_design的意思、用法、搭配和例句
  4. LeetCode 1171. 从链表中删去总和值为零的连续节点(哈希表)
  5. python list元素合并_Python-列表+-01-两个列表各元素合并
  6. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌6.07%
  7. Java虚拟机(一)——内存管理
  8. python win32库与subprocess_python subprocess 模块使用(以及详解管道阻塞的坑)
  9. 斯坦福大学深度学习公开课cs231n学习笔记(8)神经网络学习过程中的检查事项和参数调优
  10. AE中图层叠加模式的中英对照及说明
  11. 嵌入式linux快速入门
  12. 【动画消消乐 】一个小清新类型的全局网页过渡动画 075
  13. java开源项目-SpringBoot在线教育平台
  14. 红外测距模块工作原理_红外测温仪方案工作原理
  15. excel 汇总运算后生成柱状图
  16. 1- mongoDB安装及基础
  17. js+ajax编码三级联动
  18. 【转】傅里叶分析之掐死教程(完整版)
  19. 利用scrapy爬取东方资讯的新闻
  20. js设置元素垂直居中

热门文章

  1. WPF 鼠标光标大全
  2. 规格型号、购方名称、地址备注等格式有误、特殊字符-无法开票?
  3. Java学习笔录3(变量和常量)
  4. SPSS MODELER
  5. 文件夹共享失败解决方式
  6. python编写年金现值计算函数_养老金中的钱是怎么算出来的?
  7. 怎么看rx580是不是470刷的_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
  8. 微信开启全民付费模式,我们有个共同好友叫“Feed广告”
  9. Store generated project files externally
  10. 一个留学中介的CRM案例