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

Java 图片、文件 Base64 互转

时间:2023-08-07 14:58:19浏览次数:45  
标签: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 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 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://www.cnblogs.com/vipsoft/p/17611420.html

相关文章

  • 【转】JAVA中list和原生数组的互相转换
    经常用经常忘转自 javaList和数组相互转换的方法总结_javalist转为数组_great-sun的博客-CSDN博客Java中,可以通过以下方法将List转换为数组:List<String>list=newArrayList<>();String[]array=list.toArray(newString[0]);在这个例子中,我们将一个String类型的List......
  • java读写ini文件
    java读写ini文件1、格式INI文件由节、键、值组成。节[section]参数(键=值)name=value例:[Total]num=1[Server]ip=127.0.0.12、代码封装importorg.apache.commons.configuration.ConfigurationException;importorg.apache.commons.configuration.HierarchicalINIConfiguration;import......
  • java笔试常见的选择题(坑你没商量)
    java笔试常见的选择题(坑你没商量)1.已知表达式intm[]={0,1,2,3,4,5,6};下面那个表达式的值与数组的长度相等()Am.length()B.m.lengthC.m.length()+1D.m.length+1答案:B分析:数组的长度是.length2.下面那些声明是合法的?()Alongl=4990B.inti=4LC.floatf=1.1D.doubled......
  • JavaSwing布局:JPanel(面板)和LayoutManager(布局管理器)
    把Swing的各种组件(JComponent)添加到面板容器中(JPanel),需要给面板容器指定布局管理器(LayoutManager),明确容器(Container)内的各个组件之间的排列布局方式。常用的布局管理器:1流式布局,按组件加入的顺序,按水平方向排列,排满-行换下一行继续排列。2网格布局,把Container按......
  • java中static关键字的作用
    static关键字的作用static可以修饰变量、方法、代码块和内部类static属性属于这个类所有,即由该类创建的所有对象共享同一个static属性。可以对象创建后通过对象名.属性名和类名.属性名两种方式来访问。也可以在没有创建任何对象之前通过类名.属性名的方式来访问。static变量和非sta......
  • 【JAVA8】快速理解Consumer、Supplier、Predicate与Function
                 快速理解Consumer、Supplier、Predicate与Function一、前言这几个接口都处在java.util.function包下,Consumer(消费型),Supplier(供给型)、Predicate(判断型)与Function(转换型),暂时不理解他们的类型没关系。如果对Lambda不怎么理解的同学,可以......
  • java读写ini文件
    java读写ini文件1、格式INI文件由节、键、值组成。节[section]参数(键=值)name=value例:[Total]num=1[Server]ip=127.0.0.12、代码封装importorg.apache.commons.configuration.ConfigurationException;importorg.apache.commons.configuration.HierarchicalINIConfiguration;impo......
  • Java根据字段分组求和金额
    如果你有一个数据集,希望按照某个字段进行分组,并计算每个分组中金额的总和,你可以使用Java的StreamAPI来实现。下面是一个示例代码:假设你有一个包含以下数据的类Transaction:publicclassTransaction{privateStringcategory;privatedoubleamount;publicTransa......
  • Java调度算法实现与应用(FCFS、SJF、RR、HPF)
    文章目录一、调度算法概述二、先来先服务(FCFS)算法1、概述2、Java实现FCFS3、优缺点三、短作业优先(SJF)算法1、概述2、Java实现SJF3、优缺点四、时间片轮转(RR)算法1、概述2、Java实现RR3、优缺点五、优先级调度(HPF)算法1、概述2、Java实现HPF一、调度算法概述调度算法常见于操作系统......
  • java 异常 java.util.ConcurrentModificationException java 删除集合中满足条件的元
    java异常java.util.ConcurrentModificationExceptionjava.util.ConcurrentModificationException是Java中的一个常见异常,通常在使用迭代器或并发操作时发生。当集合在迭代过程中被修改时,就可能会抛出这个异常。这个异常是为了帮助开发人员发现并发访问集合时的潜在问题。在迭代期......