照片轉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();
}
}