首页 > 编程语言 >Java 图片、文件 Base64 互转

Java 图片、文件 Base64 互转

时间:2023-08-12 10:03:02浏览次数:39  
标签:Java String Base64 bytes inputStream import 互转 java

Java 图片、文件 Base64 互转

package com.thoth.his.base.util;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;

public class ImageUtil {

    public static String FileToBase64(String filePath) throws IOException {
        FileInputStream inputStream = null;
        try {
            Base64.Encoder encoder = Base64.getEncoder();
            inputStream = new FileInputStream(filePath);
            int available = inputStream.available();
            byte[] bytes = new byte[available];
            inputStream.read(bytes);
            return encoder.encodeToString(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            inputStream.close();
        }
        return "";
    }

    public static boolean Base64ToFile(String base64Str, String saveFilePath) throws IOException {
        FileOutputStream outputStream = null;
        try {
            Base64.Decoder decoder = Base64.getDecoder();
            byte[] bytes = decoder.decode(base64Str);
            outputStream = new FileOutputStream(saveFilePath);
            outputStream.write(bytes);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            outputStream.close();
        }
        return false;
    }
}



标签:Java,String,Base64,bytes,inputStream,import,互转,java
From: https://blog.51cto.com/u_15116285/7056456

相关文章

  • java之手搓简单ORM框架--SQL的UPDATA
    1.手搓简单SQL增删改查框架-更改1.1创建简单类,并使用泛型类,这里可能使用到之间写的三篇知识的内容,如果不了解的小伙伴可以去java高级之泛型java高级之映射java高级之反射当然,前提是必须要把数据库相关连接弄好,这里会专门出一篇java之jdbc现在咱们继续手搓框架开始叭!由于上......
  • css块级标签、行内标签、行内块标签的特点和相互转换
    块级元素常见的块级元素h1-h6、div、p、ul、ol、li等,div最常用!块级标签的特点独占一行高度、宽度、内外边距都可以设置(重要)宽度默认是容器(父级标签)的100%是一个容器盒子,里面可以放其他行内或者块级元素注意点:1.文字类的元素内,不能在放块级元素,比如p标签、h1-h6......
  • Javascript 面向对象编程
    avascript是一个类C的语言,他的面向对象的东西相对于C++/Java比较奇怪,但是其的确相当的强大,在 Todd同学的“对象的消息模型”一文中我们已经可以看到一些端倪了。这两天有个前同事总在问我Javascript面向对象的东西,所以,索性写篇文章让他看去吧,这里这篇文章主要想从一个整体的角度......
  • Java 观察者模式的浅析
    简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 观察者模式的结构 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(P......
  • 认识Javascript数组
    1.认识数组 数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能 1.1定义数组声明有10个元素的数组vara=newArray(10此时为a已经......
  • Java入门02
    Java开发环境搭建JDK下载,在系统属性中查看系统位数,下载对应位数的JDK,同意协议卸载JDK,右键我的电脑选属性,在高级系统设计里边找到环境变量打开,找到Java_HOME,根据路径删除整包,然后删除Java_HOME,再找到PATH,在PATH里删除和Java_HOME相关的,点击确定,最后打开命令窗口输入Java-vers......
  • Java+Excel+POI+testNG基于数据驱动做一个简单的接口测试【杭州多测师_王sir】
    一、创建一个apicases.xlsx放入到eclipse的resource里面,然后refresh刷新一下二、在pom.xml文件中加入poi和testng的mvnrepository、然后在eclipse的对应目录下放入features和plugins,重启eclipse就可以看到testNG了<!--poiexcel解析--><dependency>......
  • Java反射机制
    Java代理代理模式:提高真实对象的封装性、拓展性,采用代理对象来代替对真实对象的访问,在不修改原目标对象的基础上,进行额外的功能操作。Java代理分为静态代理和动态代理静态代理直接上代码比较好说明首先我有一个Person的接口类,定义苏醒和睡眠两种函数声明//接口提供函数声......
  • java之手搓简单ORM框架--SQL的INSERT
    1.手搓简单SQL增删改查框架-插入1.1创建简单类,并使用泛型类,这里可能使用到之间写的三篇知识的内容,如果不了解的小伙伴可以去java高级之泛型java高级之映射java高级之反射当然,前提是必须要把数据库相关连接弄好,这里会专门出一篇java之jdbc现在直接手搓框架开始叭!1.2准备工......
  • 绝了!学编程的还有不知道的吗?这个Java开发工具免费了!
    智能开发正在迅速走红!随着ChatGPT的广泛应用,智能开发越来越受到关注。然而,实际上,在数年前开始尝试智能开发的探索。自从2014年ForresterResearch提出"低代码"的概念以来,低代码平台的发展非常迅速。除了OutSystems和Mendix等低代码厂商之外,微软、谷歌等大型公司也纷纷开始着手低代......