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

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

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

1.文件轉(zhuǎn)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);

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

2.base64轉(zhuǎn)文件

拿到附件的base64之后,就可以通過該方法進(jìn)行轉(zhuǎn)換為附件

/** 
     * @description base64轉(zhuǎn)附件     
     * @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轉(zhuǎn)為附件
        base64ToFile(encode, "D:\\Tools\\Images\\base64ToFile\\"+file.getName());

    }

    /**
     * @description base64轉(zhuǎn)附件
     * @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實(shí)現(xiàn)文件和base64相互轉(zhuǎn)換的詳細(xì)內(nèi)容,更多關(guān)于java文件和base64相互轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論