base64 和 照片 互轉

照片轉base64(java自帶base64工具類)

package com.example.demo_java8_new_characteristic.test;

import java.io.*;
import java.util.Base64;

/**
 * 圖片轉base64
 */
public class TestFileToBase64 {

    public static void main(String[] args) throws IOException {

        //先獲取圖片
        String picPath="/Users/jennycheng/Desktop/123.png";
        FileInputStream fileInputStream = new FileInputStream(picPath);


        byte[] inputByte=new byte[fileInputStream.available()];
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        bufferedInputStream.read(inputByte);


        String s = Base64.getEncoder().encodeToString(inputByte);

        //將生成的編碼輸出到txt
        FileOutputStream fileOutputStream = new FileOutputStream("/Users/jennycheng/Desktop/111.txt");

        byte[] bytes = s.getBytes();
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
        bufferedOutputStream.write(bytes);

        bufferedInputStream.close();
        fileInputStream.close();
        bufferedOutputStream.close();
        fileOutputStream.close();



    }
}

base64還原圖片

package com.example.demo_java8_new_characteristic.test;

import java.io.*;
import java.util.Base64;

/**
 * 將圖片的base64還原
 */
public class Base64ToPng {


    public static void main(String[] args) throws IOException {
        //獲取txt文件中的base64
        String path = "/Users/jennycheng/Desktop/111.txt";
        File file = new File(path);
        FileInputStream fileInputStream = new FileInputStream(file);
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);


        StringBuffer stringBuffer = new StringBuffer();

        String s="";
        while ((s=bufferedReader.readLine()) != null){
            stringBuffer.append(s);
        }

        //讀取txt文件完成
        byte[] decode = Base64.getDecoder().decode(stringBuffer.toString());
        //將解碼後的字節保存到桌面的png中
        String outPath="/Users/jennycheng/Desktop/111.png";
        FileOutputStream fileOutputStream = new FileOutputStream(outPath);
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

        bufferedOutputStream.write(decode);

        bufferedOutputStream.close();
        fileOutputStream.close();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章