最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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;
    }

在本地新建文件夾

調(diào)用:

查看附件,以及通過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相互轉換的詳細內(nèi)容,更多關于java文件和base64相互轉換的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot讀寫xml上傳到AWS存儲服務S3的示例

    SpringBoot讀寫xml上傳到AWS存儲服務S3的示例

    這篇文章主要介紹了SpringBoot讀寫xml上傳到S3的示例,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-10-10
  • Java使用JDBC驅動連接MySQL數(shù)據(jù)庫

    Java使用JDBC驅動連接MySQL數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了Java使用JDBC驅動連接MySQL數(shù)據(jù)庫的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 基于紅黑樹插入操作原理及java實現(xiàn)方法(分享)

    基于紅黑樹插入操作原理及java實現(xiàn)方法(分享)

    下面小編就為大家分享一篇基于紅黑樹插入操作原理及java實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java多線程場景解析volatile和AtomicLong區(qū)別原理

    Java多線程場景解析volatile和AtomicLong區(qū)別原理

    這篇文章主要為大家介紹了Java中volatile和AtomicLong的區(qū)別原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 關于idea一直卡在build不動的解決方案

    關于idea一直卡在build不動的解決方案

    這篇文章主要介紹了idea一直卡在build不動的解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Java中ArrayList與順序表的定義與實現(xiàn)方法

    Java中ArrayList與順序表的定義與實現(xiàn)方法

    ArrayList是一個實現(xiàn)List接口的類,底層是動態(tài)類型順序表,本質也就是數(shù)組,動態(tài)主要體現(xiàn)在它的擴容機制,下面這篇文章主要給大家介紹了關于Java中ArrayList與順序表的定義與實現(xiàn)的相關資料,需要的朋友可以參考下
    2022-07-07
  • SpringBoot日志的使用解讀

    SpringBoot日志的使用解讀

    本文主要介紹了SpringBoot中日志的使用方法,包括默認輸出格式、使用Lombok簡化日志代碼、通過yml和xml配置日志等
    2025-02-02
  • SpringMVC實現(xiàn)controller中獲取session的實例代碼

    SpringMVC實現(xiàn)controller中獲取session的實例代碼

    本篇文章主要介紹了SpringMVC實現(xiàn)controller中獲取session的實例代碼,具有一定的參考價值,有興趣的可以了解一下。
    2017-02-02
  • 在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    本文主要介紹了在SpringBoot中如惡化使用MongoDB完成數(shù)據(jù)存儲,接下來這篇我們將圍繞MongoDB進行,MongoDB是一個開源的,面向文檔的NoSQL數(shù)據(jù)庫管理系統(tǒng),使用類似JSON的BSON(二進制JSON)格式來存儲數(shù)據(jù),具有靈活的數(shù)據(jù)模型和強大的查詢功能,需要的朋友可以參考下
    2023-11-11
  • 輕松掌握Java命令模式

    輕松掌握Java命令模式

    這篇文章主要幫助大家輕松掌握Java命令模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

秭归县| 德钦县| 宿州市| 偏关县| 新干县| 昭觉县| 高碑店市| 峨边| 手机| 高尔夫| 莒南县| 乐山市| 南阳市| 惠东县| 鲁山县| 阿克陶县| 庆阳市| 错那县| 佛山市| 泰顺县| 运城市| 资兴市| 漳平市| 保山市| 城口县| 法库县| 双牌县| 横山县| 思南县| 台北县| 富裕县| 登封市| 洱源县| 章丘市| 永善县| 定日县| 北辰区| 卢氏县| 辽中县| 林周县| 无为县|