欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)文件和base64相互轉換

 更新時間:2023年11月08日 09:12:43   作者:小花皮豬  
這篇文章主要為大家詳細介紹了java如何實現(xiàn)文件和base64相互轉換,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起學習一下

1.文件轉base64

聲明:我用的是Hutool的Base64下的api

package cn.hutool.core.codec;

首先找一張圖片

很簡單,直接使用Base64的encode方法就可以拿到文件的base64碼:

	File file = new File("D:\\Tools\\Images\\北極熊.jpg");
	String encode = Base64.encode(file);

通過斷點,可以看到附件的base64就是一串很長的字符串。

2.base64轉文件

拿到附件的base64之后,就可以通過該方法進行轉換為附件

/** 
     * @description base64轉附件     
     * @date 17:17 2023/11/7
     * @param base64 附件的base64碼
     * @param filePath 存儲路徑
     * @return java.io.File
    **/
    public static File base64ToFile(String base64, String filePath) {
        File file = new File(filePath);
        byte[] buffer;
        try {
            BASE64Decoder base64Decoder = new BASE64Decoder();
            buffer = base64Decoder.decodeBuffer(base64);
            FileOutputStream out = new FileOutputStream(filePath);
            out.write(buffer);
            out.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return file;
    }

在本地新建文件夾

調用:

查看附件,以及通過base64保存到本地了:

3.參考代碼

完整代碼如下,供參考:

package com.test.HutoolTest;

import cn.hutool.core.codec.Base64;
import sun.misc.BASE64Decoder;

import java.io.File;
import java.io.FileOutputStream;


public class Base64Test {
    public static void main(String[] args){
        // 本地附件
        File file = new File("D:\\Tools\\Images\\大褲衩.jpg");
        String encode = Base64.encode(file);
        // base64轉為附件
        base64ToFile(encode, "D:\\Tools\\Images\\base64ToFile\\"+file.getName());

    }

    /**
     * @description base64轉附件
     * @date 17:17 2023/11/7
     * @param base64 附件的base64碼
     * @param filePath 存儲路徑
     * @return java.io.File
    **/
    public static File base64ToFile(String base64, String filePath) {
        File file = new File(filePath);
        byte[] buffer;
        try {
            BASE64Decoder base64Decoder = new BASE64Decoder();
            buffer = base64Decoder.decodeBuffer(base64);
            FileOutputStream out = new FileOutputStream(filePath);
            out.write(buffer);
            out.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return file;
    }
}

以上就是java實現(xiàn)文件和base64相互轉換的詳細內容,更多關于java文件和base64相互轉換的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot集成Aviator實現(xiàn)參數(shù)校驗的示例代碼

    SpringBoot集成Aviator實現(xiàn)參數(shù)校驗的示例代碼

    在實際開發(fā)中,參數(shù)校驗是保障系統(tǒng)穩(wěn)定和數(shù)據(jù)可靠性的重要措施,Aviator 是一個高性能的表達式引擎,它能夠簡化復雜的邏輯判斷并提升參數(shù)校驗的靈活性,本文將介紹如何在 Spring Boot 中集成 Aviator,并利用它來實現(xiàn)靈活的參數(shù)校驗,需要的朋友可以參考下
    2025-02-02
  • Java線程重復執(zhí)行以及操作共享變量的代碼示例

    Java線程重復執(zhí)行以及操作共享變量的代碼示例

    這篇文章主要介紹了Java中對線程重復執(zhí)行以及操作共享變量的代碼示例,來自于Java面試題目的練習整理,需要的朋友可以參考下
    2015-12-12
  • SpringBoot 靜態(tài)資源導入及首頁設置問題

    SpringBoot 靜態(tài)資源導入及首頁設置問題

    本節(jié)了解一下 SpringBoot 中 Web 開發(fā)的靜態(tài)資源導入和首頁設置,對應 SpringBoot-03-Web 項目,本節(jié)主要是從源碼的角度,研究了一下靜態(tài)資源導入和首頁設置的問題
    2021-09-09
  • java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗證碼】

    java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗證碼】

    這篇文章主要介紹了java基于正則提取字符串中的數(shù)字功能,可用于提取短信中的驗證碼,涉及java基于正則的字符串匹配相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • SpringBoot兩種方式接入DeepSeek的實現(xiàn)

    SpringBoot兩種方式接入DeepSeek的實現(xiàn)

    本文主要介紹了SpringBoot兩種方式接入DeepSeek的實現(xiàn),包括HttpClient方式和基于spring-ai-openai的方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • java項目啟動失敗的問題及解決

    java項目啟動失敗的問題及解決

    這篇文章主要介紹了java項目啟動失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • java并發(fā)編程死鎖定義及如何避免死鎖

    java并發(fā)編程死鎖定義及如何避免死鎖

    這篇文章主要為大家介紹了java并發(fā)編程中死鎖的詳細說明及如何避免死鎖的方法,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • Java實現(xiàn)多線程文件下載的代碼示例

    Java實現(xiàn)多線程文件下載的代碼示例

    本篇文章主要介紹了Java實現(xiàn)多線程下載的代碼示例,Java多線程可以充分利用CPU的資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • 詳解Java 自動裝箱與拆箱的實現(xiàn)原理

    詳解Java 自動裝箱與拆箱的實現(xiàn)原理

    本篇文章主要介紹了詳解Java 自動裝箱與拆箱的實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java中Dijkstra算法求解最短路徑的實現(xiàn)

    Java中Dijkstra算法求解最短路徑的實現(xiàn)

    Dijkstra算法是一種解決最短路徑問題的常用算法,本文主要介紹了Java中Dijkstra算法求解最短路徑的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-09-09

最新評論