Base64与文件流之间的相互转换
文件流转换成Base64
public String fileToBase64(String path){
String base64 = null;
InputStream in = null;
try {
File file = new File(path);
in = new FileInputStream(file);
byte[] bytes=new byte[(int)file.length()];
in.read(bytes);
base64 = Base64.getEncoder().encodeToString(bytes);
} catch (Exception e) {
e.printStackTrace();
}finally {
if(in!=null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return base64;
}
Base64转换成文件流
public static void base64ToFile(String base64,String fileName){
File file = null;
String filePath = "C:\\Users\\hemanman6\\Desktop";
File dir = new File(filePath);
if(!dir.exists()&& !dir.isDirectory()){
dir.mkdirs();
}
BufferedOutputStream bos = null;
FileOutputStream fos = null;
byte[] bytes = Base64.getDecoder().decode(base64);
file = new File(filePath+"\\"+fileName);
try {
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bytes);
} catch (Exception e) {
e.printStackTrace();
} finally{
if(bos!=null){
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试类
public static void main(String[] args) {
String path = "C:\\Users\\hemanman6\\Desktop\\OIP-C.jpg";
Base64Util base64Util = new Base64Util();
String s = base64Util.fileToBase64(path);
System.out.println("base:"+s);
base64ToFile(s,"aaa.jpg");
}
结果截图
文件流转Base64截图

Base64转文件截图
